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

21 Октябрь 2015, 07:29:34
  • Новичок
  • *
  • Сообщений: 32
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго дня!

Научите, пожалуйста, как в админке в разделе "Каталог - Товары" добавить фильтрацию товаров по производителям, по типу, как организован имеющийся "Фильтр по категориям" или сделать сортировку товаров по производителям с добавлением отдельного столбца "Производитель" с возможностью сортировки по этому столбцу, чтобы можно было выделить товары, относящиеся к конкретному производителю.

Мне необходимо массово изменить статус товаров (отключить), относящихся к одному из производителей, а без фильтрации или сортировки по производителю делать это утомительно.
21 Октябрь 2015, 11:24:07
Ответ #1
21 Октябрь 2015, 11:28:18
Ответ #2
  • Новичок
  • *
  • Сообщений: 32
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо, буду пробовать реализовать.
27 Январь 2016, 23:20:13
Ответ #3
  • Пользователь
  • **
  • Сообщений: 97
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Также хочу добавить данный функционал.

в файле /controllers/admin/AdminProductsController.php добавил код:

$this->fields_list['manufacturer_name'] = array(
      'title' => $this->l('Производитель')
    );

Но, в итоге, в админке получаю ошибку
 Неверный SQL запрос
Unknown column 'manufacturer_name' in 'field list'

Подскажите, что я делаю не так?
28 Январь 2016, 11:11:01
Ответ #4
28 Февраль 2017, 11:14:33
Ответ #5
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Откройте файл /controllers/admin/AdminProductsController.php и после:
Код:
$this->fields_list['active'] = array(
    'title' => $this->l('Status'),
    'active' => 'status',
    'filter_key' => $alias.'!active',
    'align' => 'text-center',
    'type' => 'bool',
    'class' => 'fixed-width-sm',
    'orderby' => false
);

добавьте:
$this->fields_list['id_manufacturer'] = array(
    'title' => $this->l('Manufacturers'),
    'align' => 'text-center',
    'filter_key' => 'm!name',
    'class' => 'fixed-width-sm',
    'orderby' => false
);


после:
LEFT JOIN `'._DB_PREFIX_.'shop` shop ON (shop.id_shop = '.$id_shop.')
добавьте:
LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (a.`id_manufacturer` = m.`id_manufacturer`)