Prestashop 1.7 向订单添加新列 table

Prestashop 1.7 add new column to orders table

大家好。 我正在做一个小模块,它应该在后端的顺序 table 中显示一个新列。

我已经这样做了:

在我的模块中,我将一个新文件放入 my_module/controllers/admin/AdminOrderController.php

在那个文件中,我写了:

class AdminOrdersController extends AdminOrdersControllerCore
{

    public function __construct()
    {
 print_r("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); 
    }
}

但是一旦我进入订单列表...什么都没有发生。 (我已经从 var/cache/ 中删除了 calls_index.php)。 我做错了什么? 你能帮我理解我必须做什么才能向 table 添加一个新列吗?

用模块创建管理控制器覆盖的正确文件夹是:

/my_module/override/controllers/admin/AdminOrdersController.php

如果您在模块中更改了它,请重新安装它,文件应该正确放置并且应该出现 print_r

不推荐覆盖。你应该尽量不要在你的模块上使用覆盖。

您必须使用 PrestaShop 动态挂钩:

public function hookActionAdminOrdersListingFieldsModifier($params)
{
    $params['fields']['your_new_field'] = array(
        'title' => $this->l('label'),
        'align' => 'center',
    );
}

您还可以修改管理表单:

public function hookActionAdminOrdersFormModifier($params)
{
    dd($params);
}