Prestashop добавляет пользовательский столбец под названием "количество продуктов", отображающий количество, заказанное из таблицы " ps_order

Prestashop добавляет пользовательский столбец под названием "количество продуктов", отображающий количество, заказанное из таблицы " ps_order

05.10.2018 01:25:52 Просмотров 42 Источник

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

Является ответом!
Divyesh Prajapati

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соответственно.

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

https://stackoverflow.com/questions/52663520/prestashop-add-custom-column-called-number-of-products-displaying-quantity-or/52665155#comment92260442_52665155
Да, это сработало, как и ожидалось для моего случая. Думаю, я запрашивал не ту таблицу, чтобы получить информацию. Спасибо!
Закрыть X