Prestashop Добавить пользовательский столбец под названием «количество продуктов», отображающий количество, заказанное из таблицы «ps_order» - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь найти способ отображения заказанного количества товара на странице Заказы , в бэкэнде установки 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')
    );

Можно ли переопределить этот файл, чтобы отобразить заказанное количество?

1 Ответ

0 голосов
/ 05 октября 2018

Прежде всего позвольте мне прояснить одну вещь;заказанное количество не сохраняется в таблице {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 соответственно.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...