我使用的是Prestashop 1.6.0.9。
我希望编辑此部分的原始HTML。
全尺寸图片链接:http://i.stack.imgur.com/hazQp.png
我希望在过滤器中添加一个额外的列,但我实际上无法找到它的代码...
我搜索了adminXXXX/themes/default/template/
目录。特别是订单文件,但它们似乎只与您实际点击下面列出的某个订单时获得的视图相关。 (以下是您无法看到的过滤器下方的订单)
有谁知道这个的实际位置?
答案 0 :(得分:1)
BO订单的过滤器由controllers\admin\AdminOrdersController.php
创建。
为了保留prestashop核心代码,它指示您为此控制器创建一个覆盖,您需要加入所需的表(如果尚未加入),请指定表中的位置是要用于过滤器的字段以及字段本身。仔细看看 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'
);
}
}
答案 1 :(得分:0)
如果您想要与运营商合作 添加此(后面:“$ this-&gt; _join ='”):
LEFT JOIN '._DB_PREFIX_.'carrier ca ON (ca.id_carrier = a.id_carrier)
和字段列表(在“$ this-&gt; fields_list = array(”)后面添加:
'carrier' => array(
'title' => $this->l('Carrier'),
'align' => 'text-center',
'filter_key' => 'ca!name'
),