PrestaShop 1.7.2.5:修改重新订购后跳转至购物车而非首页的方法
PrestaShop 1.7.2.5 修改「重新订购」按钮跳转至购物车页面方案
嗨,Sofiane!针对你遇到的问题,完全可以通过**Override(重写)**来解决,这也是PrestaShop官方推荐的自定义方式,能避免直接修改核心文件导致升级时代码丢失的问题。下面是具体的操作步骤:
操作步骤
第一步:创建Override文件路径
在你的PrestaShop根目录下,检查是否存在override/controllers/front/目录,如果没有,手动创建这个路径。第二步:编写Override控制器代码
在上述路径下新建OrderController.php文件,粘贴以下代码:class OrderController extends OrderControllerCore { public function reorder() { // 先执行父类的重新订购逻辑,确保商品成功加入购物车 parent::reorder(); // 替换默认的首页跳转,改为跳转到购物车页面 Tools::redirect($this->context->link->getPageLink('cart')); } }这段代码的作用是:先调用原生的「重新订购」逻辑完成商品加购,然后把原来跳转到首页的指令替换成跳转到购物车页面。
第三步:清除缓存使Override生效
登录PrestaShop后台,进入「高级参数」>「性能」页面,点击「清除缓存」按钮(如果开启了智能缓存,也可以手动删除var/cache/目录下的文件)。
为什么用Override?
直接修改核心文件(比如controllers/front/OrderController.php)虽然能解决问题,但当你后续升级PrestaShop版本时,这些修改会被官方的核心文件覆盖,导致自定义功能失效。而Override目录下的文件会被PrestaShop优先加载,且升级时不会被替换,是更安全、规范的自定义方式。
测试一下:点击「重新订购」按钮,商品会正常加入购物车,然后直接跳转到购物车页面啦!
内容的提问来源于stack exchange,提问作者Sofiane06
相关产品推荐
相关产品推荐

