Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вывод доп.описания на стену подкатегорий


Recommended Posts

Всем доброго дня.

Установил вот это дополнение (см.ниже) на OcStore 2.1. Все работает, но мне надо его адаптировать под мою задачу.

Мне необходимо при переходе в категорию на стене подкатегорий под названиями подкатегорий вывести это доп.описание (см.скриншот)

Соответственно, в файл category.tpl после вывода названия подкатегории я добавил вот такую строку

<?php if (!empty($category['description_dop'])) { ?><div class="dop-opisanie"><?php $category['description_dop']; ?></div><?php } ?>

Но на экран ничего не вывелось. Если убрать проверку на пустоту, то выводится div, а внутри него пусто (см.скриншот). Следовательно переменная $category['description_dop'] пустая.

Видимо где то в контроллере ее надо заполнить.

Вопрос где именно это надо сделать и как?

Помогите разобраться.

 

2017-09-26_10-28-33.png

444.JPG

Змінено користувачем ginsar
Надіслати
Поділитися на інших сайтах


в стене подкатегорий нужно добавить это поле в контроллере

 'description_dop' = html_entity_decode($category_info['description_dop'], ENT_QUOTES, 'UTF-8');

Змінено користувачем spectre
Надіслати
Поділитися на інших сайтах

11 минут назад, spectre сказал:

в стене подкатегорий нужно добавить это поле в контроллере

 'description_dop' = html_entity_decode($category_info['description_dop'], ENT_QUOTES, 'UTF-8');

Это было добавлено модификатором.
Вот такая строка

$data['description_dop'] = html_entity_decode($category_info['description_dop'], ENT_QUOTES, 'UTF-8');

появилась после строки

$data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');

Но это по видимому для вывода доп.описания на страницу категории, а мне надо вывести доп.описание под названия подкатегорий на стене подкатегорий страницы категории (см.скриншот со стрелками выше). Ключевое слово тут подкатегории. Для них надо достать и вывести доп.описание.

Надіслати
Поділитися на інших сайтах


43 минуты назад, spectre сказал:

так смысл такой же, найдите где перечисляются подкатегории

Я нашел, и поставил туда вот такой код

<?php if (!empty($category['description_dop'])) { ?><div class="dop-opisanie"><?php $category['description_dop']; ?></div><?php } ?>

Но выводится просто пустой блок div без текста, хотя текст для данной подкатегории есть (см. последний скриншот в первом посте).

 

Пробовал ставить вот такой код из рекомендаций автора мода

<?php if ($description_dop) { ?><div class="dop-opisanie"><?php echo $description_dop; ?></div><?php } ?>

Но он выводит доп.описание самой категории, а мне надо доп.описание подкатегории.

 

Видимо где то не заполняется $category['description_dop']

Вопрос где и как она должна заполняться ?

Help!

 

Змінено користувачем ginsar
Надіслати
Поділитися на інших сайтах


В контроллере catalog/controller/product/category.php заменил код

				$data['categories'][] = array(
					'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
					'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url)
				);

на

				$data['categories'][] = array(
					'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
					'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'description_dop' => $result['description_dop']
				);

т.е. фактически добавил последнюю строку для заполнения переменной description_dop в массиве $data. Обновил модификаторы.

 

Не помогло :(

 

Дмитрий это Данила, I need help!

Змінено користувачем ginsar
Надіслати
Поділитися на інших сайтах


Проверить создались ли дополнительные поля в базе при установке модуля

Этот код как раз добавляет в массив нужные данные

$data['categories'][] = array(
  'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
  'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
  'description_dop' => $result['description_dop']
);


Посмотреть в лог ошибок. Или модификаторы не обновлены или контроллер закэширован

Змінено користувачем thentru
Надіслати
Поділитися на інших сайтах


1 час назад, thentru сказал:

Проверить создались ли дополнительные поля в базе при установке модуля

Этот код как раз добавляет в массив нужные данные


$data['categories'][] = array(
  'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
  'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
  'description_dop' => $result['description_dop']
);


Посмотреть в лог ошибок. Или модификаторы не обновлены или контроллер закэширован

Поле в БД есть. Тем более, что в админке туда все записывается, считывается и изменяется.
Модификаторы обновил. Проверил файл system/storage/modification/catalog/controller/product/category.php - в нем есть этот код. Значит модификатор нормально обновился.

В логе ошибок нет.
Системный кеш уже сбрасывал не один раз.

 

Куда еще копать?

Надіслати
Поділитися на інших сайтах


Интересно, что блок dop_opisanie присутствует в html, т.е. переменная $category['description_dop'] не пустая, если условие if (!empty($category['description_dop']))  возвращает true.

Но внутри блока почему то нет текста.

111.JPG

Надіслати
Поділитися на інших сайтах


Для категорий выводится нормально (красная стрелка)

А для подкатегорий никак (желтая стрелка) :(

2017-09-27_16-09-28.png

Змінено користувачем ginsar
Надіслати
Поділитися на інших сайтах


пропущено echo
 

<?php if (!empty($category['description_dop'])) { ?><div class="dop-opisanie"><?php echo $category['description_dop']; ?></div><?php } ?>

 

  • +1 1
Надіслати
Поділитися на інших сайтах


13 минут назад, thentru сказал:

пропущено echo
 


<?php if (!empty($category['description_dop'])) { ?><div class="dop-opisanie"><?php echo $category['description_dop']; ?></div><?php } ?>

 

Блин, точно! А ларчик то просто открывался!

Спасибо тебе большое!!!

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.