在 Prestashop 8 中添加在 prestashop 1.6 中有效的代码

问题描述 投票:0回答:1

我在 prestashop 订单列表后台有一个显示预计交货日期的代码。它在 PS 1.6.X 中工作,但在 Prestashop 8 AdminOrdersControllers.php 中已更改,现在我不知道如何添加我的代码,我恢复代码:

controllers/admin/AdminOrderController.php(旧 PS 1.6.x)

在:

public function __construct()
    {
        $this->bootstrap = true;
        $this->table = 'order';
        $this->className = 'Order';
        $this->lang = false;
        $this->addRowAction('view');
        $this->explicitSelect = true;
        $this->allow_export = true;
        $this->deleted = false;

        parent::__construct();

        $this->_select = '

我接着补充:

      

(SELECT (DATE_FORMAT(DATE_ADD(op.`date_add`,INTERVAL 7 + IF((WEEKDAY(DATE_ADD(op.`date_add`, INTERVAL 7 DAY)) IN (5)), 2, 0) + IF((WEEKDAY(DATE_ADD(op.`date_add`, INTERVAL 7 DAY)) IN (6)), 1, 0) DAY), "%W, %e of %M")) FROM `'._DB_PREFIX_.'order_payment` op WHERE op.`order_reference` = a.`reference` limit 1) as DayOfDelivery,

然后:

$this->fields_list = array(
            'id_order' => array(
                'title' => $this->trans('ID', array(), 'Admin.Global'),
                'align' => 'text-center'
            ),

我补充说:

          

'DayOfDelivery' => array(
                'title' => $this->l('Day Of Delivery'),
                'align' => 'center',
                'orderby' => false,
                'search' => false,
                'class' => 'fixed-width-xs',
                'callback' => 'getIsDayOfDelivery'
            ),

然后我添加了一个功能:

public function getIsDayOfDelivery ($a, $order)
    {
        if ($order['note']) {
            return '<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="'.$order['note'].'" data-html="true" data-placement="top"><i class="icon-truck"></i></span>';
        } 
        else {
            return '<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="'.$order['DayOfDelivery'].'" data-html="true" data-placement="top"><i class="icon-truck"></i></span>';
        }
    }

您知道如何将此代码添加到 src/Core/Grid/Definition/Factory/OrderGridDefinitionFactory.php 或 src/PrestaShopBundle/Controller/Admin/Sell/Order/OrderController.php 中或应添加到哪个文件中?

php prestashop
1个回答
0
投票

为了正确地做事,请考虑构建一个非常基本的模块,该模块依赖于在 Symfony 迁移后后台订单页面中 Prestashop 1.7.7 中添加的挂钩之一(在此检查“订单视图页面布局修改”)帮助页面),以便您可以在那里移动并显示现有的代码。

© www.soinside.com 2019 - 2024. All rights reserved.