Автор Тема: Фильтрация вывода товаров в админке  (Прочитано 1286 раз)

12 Октябрь 2015, 21:01:27
Ответ #15
  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В  AdminProductsController WHERE добавляют в функциях ajaxProcess....
Эти функции созданы специально для добавления условий в sql запросы.
Это как раз для фильтров. Изменение контента без перезагрузки страницы.
В этом случае не фильтр, а ограничение показа товаров по конкретному пользователю.
Нужно переопределить getList добавить ид в where.
да, только вот где конкретно добавить? Я пол сайта облазил но так и не нашел где этот Where добавляется, если вы знаете скажите пожалуйста номер строки я там доковыряю
12 Октябрь 2015, 21:02:58
Ответ #16
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Пример ajaxProcessUpdateProductImage, переопределяет таблицу товаров при добавлении изображений.
Переопределить спискок товаров можно после получения ид клиента и списка ид товаров по этому ид.
12 Октябрь 2015, 21:07:48
Ответ #17
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
да, только вот где конкретно добавить? Я пол сайта облазил но так и не нашел где этот Where добавляется, если вы знаете скажите пожалуйста номер строки я там доковыряю
...
'where' => &$this->_where,
См. файл  /classes/controller/AdminController.php там полное описание этого метода
public function getList($id_lang, $order_by = null, $order_way = null, $start = 0, $limit = null, $id_lang_shop = false)
    {
        Hook::exec('action'.$this->controller_name.'ListingFieldsModifier', array(
            'select' => &$this->_select,
            'join' => &$this->_join,
            'where' => &$this->_where,
            'group_by' => &$this->_group,
            'order_by' => &$this->_orderBy,
            'order_way' => &$this->_orderWay,
            'fields' => &$this->fields_list,
        ));
12 Октябрь 2015, 21:19:44
Ответ #18
  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
if ($orderByPriceFinal == 'price_final') {
            $orderBy = 'id_'.$this->table;
            $orderWay = 'ASC';
        }
вот нашел :) 'id_'.$this->table вставлю тупо перед этим and условие- и надеюсь будет мне счастье ) Всем спасибо за помощь, завтра чуть что еще напишу )))
13 Октябрь 2015, 17:36:47
Ответ #19
  • Новичок
  • *
  • Сообщений: 18
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля