编辑Prestashop当前订单视图

时间:2015-01-09 14:22:45

标签: php smarty prestashop prestashop-1.6

我使用的是Prestashop 1.6.0.9。

我希望编辑此部分的原始HTML。

enter image description here

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

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

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

有谁知道这个的实际位置?

2 个答案:

答案 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'
   ),