编辑 Prestashop 当前订单视图

Edit Prestashop current orders view

我正在使用 Prestashop 1.6.0.9。

我想编辑这部分的原始 HTML。

全尺寸图片 link:http://i.stack.imgur.com/hazQp.png

我想在过滤器中添加一个额外的列,但我实际上找不到它的代码...

我已经搜索了 adminXXXX/themes/default/template/ 目录。特别是订单文件,但它们似乎只与您实际单击下面列出的其中一个订单时获得的视图相关。 (以下表示您看不到的过滤器下方的订单)

有人知道这个的实际位置吗?

BO 订单过滤器由 controllers\admin\AdminOrdersController.php 创建。

为了保留 prestashop 核心代码,表明您为此控制器创建了一个覆盖,您需要在其中加入您需要的 table(如果尚未加入),请在您的 table 是您要用于过滤器的字段,也是字段本身。仔细查看 AdminOrdersController 的构造函数,以便更好地理解如何执行此操作。

例如,如果您想将运营商名称添加为过滤器,请创建 override\controllers\admin\AdminOrdersController.php 文件并添加以下代码:

<?php

class AdminOrdersController extends AdminOrdersControllerCore {
    public function __construct() {
        parent::__construct();
        $this->_join .= 'LEFT JOIN `'._DB_PREFIX_.'carrier` cr ON (cr.`id_carrier` = a.`id_carrier`)';
        $this->_select .= ', cr.name as carrier';
        $this->fields_list['carrier'] = array(
            'title' => $this->l('Carrier'),
            'align' => 'text-center'
        );
    }
}

如果您想要带载体的列 添加这个(在后面:“$this->_join = '”):

    LEFT JOIN '._DB_PREFIX_.'carrier ca ON (ca.id_carrier = a.id_carrier) 

和字段列表(在 "$this->fields_list = array(") 后面添加:

'carrier' => array(
            'title' => $this->l('Carrier'),
            'align' => 'text-center',            
            'filter_key' => 'ca!name'
   ),