我正在尝试找到一种方法,在 Prestashop v.1.6.1.9 安装后端的 Orders 页面中显示产品订购数量。
我已经成功通过覆盖 AdminOrdersController.php 添加了 2 个自定义列。我以这种方式添加了phone_mobile和自定义注释:
$this->fields_list['phone_mobile'] = array(
'title' => $this->l('Phone Number')
);
$this->fields_list['note'] = array(
'title' => $this->l('Notes')
);
有什么方法可以覆盖此文件以显示订购的数量?
首先让我澄清一件事;订购的数量未存储在
{DB_PREFIX}order
表中;它存储在 {DB_PREFIX}order_detail
表中。
要添加
total_qty
订购的总数量,您需要从{DB_PREFIX}order_detail
表中获取数量,要实现此目的,您可以在覆盖中执行以下操作。
<?php
/**
* @override AdminOrdersController
*/
class AdminOrdersController extends AdminOrdersControllerCore
{
public function __construct()
{
parent::__construct();
$this->_select .= ', (SELECT SUM(od.product_quantity) FROM `'._DB_PREFIX_.'order_detail` od WHERE od.id_order = a.id_order GROUP BY od.id_order) as total_qty';
$this->fields_list = array_merge($this->fields_list, array(
'total_qty' => array(
'title' => $this->l('Number of products'),
'havingFilter' => true,
),
));
}
}
您可以相应地添加
phone_mobile
和 custom_notes
等字段。
希望有帮助!