Автор Тема: Изменения в шаблоне админки Prestashop 1.6  (Прочитано 167 раз)

02 Июль 2018, 13:11:41
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подскажите где находится шаблон, который выводит список заказов в админке???
02 Июль 2018, 14:11:43
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1229
  • Репутация: +15/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В контроллере /controllers/admin/AdminOrdersController.php
19 Июль 2018, 08:36:24
Ответ #2
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подскажите, где файл шаблона в панели управления Каталог-Товары.
То есть товары списком.
Контроллер AdminProducts смотрел. Не понял какая функция выводит и в какой шаблон.
20 Июль 2018, 10:48:06
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1229
  • Репутация: +15/-1
  • Сообщество PrestaShop
    • Просмотр профиля
/controllers/admin/AdminProductsController.php
$this->fields_list = array();
        $this->fields_list['id_product'] = array(
            'title' => $this->l('ID'),
            'align' => 'center',
            'class' => 'fixed-width-xs',
            'type' => 'int'
        );
21 Июль 2018, 09:47:34
Ответ #4
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
mistral, спасибо.
Там вывод шапки, не как не разберусь в логике: как выводится список товаров
Все происходит в двух контроллерах: AdminProductsController  и родительском AdminController.
Какая-то мудреная логика.
Смотрю названиям функций: initcontent, list, getlist, loadObject, ищу где происходит new Product. Но все из каких-то кусочков и без шаблона tpl.
Нужно когда выводятся товары: Каталог - Товары цветом пометить товары, где нет описания.
Вы могли бы написать где логика вывода самих товаров списком?
21 Июль 2018, 09:50:59
Ответ #5
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Начал понимать: вывод функцией getList с использованием такой же родительского класса, но пока так и не понял
как цветом пометить товары, где нет описания
21 Июль 2018, 15:08:08
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 21412
  • Репутация: +25286/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Класс добавить
if $description == ''
     'class' => 'my-class-red',
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
22 Июль 2018, 16:00:55
Ответ #7
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
PrestaMan, спасибо.
Чтобы добавить класс, надо понять куда.
Логика такая:
Вывод полей через функцию displayListContent в функции generateList класса HelperList,
все это вызывается функцией renderList класса AdminController,
renderList вызывает еще getList, где собственно записи с товарами и по сколько их выводить.
Сама renderList вызывается функцией initContent класса AdminController,
которая вызывается собственно initContent самого класса AdminProductsController, который вызывается
самой страницей со списком товаров.
И при такой мудреной вложенности не пойму где вызываются данные товаров: id, наименование и прочее.
Получение списка товаров искал, где вызывается класс Product
И как связать с полями:
  $this->fields_list['id_product'] = array(
            'title' => $this->l('ID'),
            'align' => 'center',
            'class' => 'fixed-width-xs',
            'type' => 'int'
        );

Нужно этот код заменить:
if $description == '' {
      $this->fields_list['id_product'] = array(
            'title' => $this->l('ID'),
            'align' => 'center',
            'class' => 'fixed-width-xs my-class-red',
            'type' => 'int'
}
     
22 Июль 2018, 17:30:22
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 15040
  • Репутация: +14588/-5
  • Сообщество PrestaShop
    • Просмотр профиля
class ProductCore extends ObjectModelПоля из класса Product, связать просто, используйте любую переменную класса Product.