在某些情况下,我有一个特定产品需要放入购物车.我一直在查看Ubercart api文档,我没有看到任何钩子,这些钩子在结账前是否存在某个项目是显而易见的.
每当添加第一个项目时,我都可以使用hook_add_to_cart挂钩添加特殊项目,但我担心访问者可能会删除该项目,然后在没有所需项目的情况下完成购买.
有什么建议如何确保特殊项目在结帐时在购物车中?
解决方法:
你可以有一个模块并运行如下:
function mymodule_init() {
if (preg_match('/checkout/', request_uri()) {
$items = uc_cart_get_contents();
foreach ($items as $item) {
// code
}
}
}
这将在结帐页面上启动,并获取购物车内容.每当他们点击结账页面时,uc_cart_get_contents()都会返回购物车内容.
http://www.ubercart.org/docs/api/uc_cart_get_contents
可能有更好的方法来做你想做的事情,比如如果项目B在购物车中而物品A没有,则使用条件行动来防止结账.您也可以查看产品套件,但我没有太多经验.
标签:php,drupal,ubercart 来源: https://codeday.me/bug/20190518/1129546.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。