Prestashop 1.7.7.1 原AdminOrdersController override失效后创建位置咨询
PrestaShop 1.7.7.1 订单功能override适配方案
失效原因
PrestaShop 1.7重构了整个后台架构,1.6版本使用的AdminOrdersController属于旧版Legacy控制器体系,在1.7.7.1版本中已被完全移除,旧的override文件找不到对应父类,因此功能完全失效。
适配override文件的存放路径
1.7.7.1的原生订单管理控制器已迁移至Symfony架构,原生核心路径为src/PrestaShopBundle/Controller/Admin/Sell/Order/OrderController.php
对应适配的override文件需创建在:override/PrestaShopBundle/Controller/Admin/Sell/Order/OrderController.php
注意:原
override/controllers/admin/路径仍然可用于1.7中保留的Legacy后台控制器,但订单相关核心逻辑已不再使用该套架构,因此无法通过该路径实现适配。
生效注意事项
- 该override文件的命名空间必须和原生控制器完全一致,即
namespace PrestaShopBundle\Controller\Admin\Sell\Order; - 类定义需直接继承原生的
OrderController,仅覆写需要调整的逻辑方法即可,不要重复实现原有基础功能 - 若原功能是在订单列表/查询中加入指定供应商的过滤条件,对应需覆写原生控制器的
orderListAction方法,在方法对应的QueryBuilder中添加供应商关联的查询规则即可 - 配置完成后需删除
var/cache/目录下的全部缓存文件,override逻辑才能正常生效
内容的提问来源于stack exchange,提问作者claudiog74
相关产品推荐
相关产品推荐

