Перейти к содержанию
ginsar

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

Рекомендуемые сообщения

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

Установил вот это дополнение (см.ниже) на 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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.