Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


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

Edited by ginsar
Link to post
Share on other sites

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

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

Edited by spectre
Link to post
Share on other sites
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');

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

Link to post
Share on other sites

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

Link to post
Share on other sites
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!

 

Edited by ginsar
Link to post
Share on other sites

В контроллере 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!

Edited by ginsar
Link to post
Share on other sites

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

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

$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']
);


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

Edited by thentru
Link to post
Share on other sites

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 - в нем есть этот код. Значит модификатор нормально обновился.

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

 

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

Link to post
Share on other sites

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

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

111.JPG

Link to post
Share on other sites

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

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

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

Edited by ginsar
Link to post
Share on other sites

пропущено echo
 

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

 

  • +1 1
Link to post
Share on other sites

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

пропущено echo
 


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

 

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

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.