Prestashop добавляет пользовательский столбец под названием "количество продуктов", отображающий количество, заказанное из таблицы " ps_order
Я пытаюсь найти способ отображения количества заказанного продукта на странице заказов, в фоновом режиме установки Prestashop V.1.6.1.9.
Мне уже удалось добавить 2 пользовательских столбца, переопределив AdminOrdersController.в PHP. Я добавил phone_mobile и пользовательские заметки таким образом:
$this->fields_list['phone_mobile'] = array(
'title' => $this->l('Phone Number')
);
$this->fields_list['note'] = array(
'title' => $this->l('Notes')
);
Как я могу переопределить этот файл, чтобы показать заказанное количество?
Ответы - Prestashop добавляет пользовательский столбец под названием "количество продуктов", отображающий количество, заказанное из таблицы " ps_order / Prestashop Add custom column called "number of products", displaying quantity ordered from "ps_order" table

05.10.2018 02:57:56
Прежде всего, позвольте мне прояснить одну вещь; заказанное количество не сохраняются в {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
соответственно.
Надеюсь, это поможет!
