Должно в итоге получиться так
Сообщение отредактировал LeMax: 21 January 2016 - 10:42
Отправлено 22 January 2016 - 06:52
Cheren-dow сказал(а) 21 Янв 2016 - 13:33:
сделать доп параметр для категории
Да, такое решение мне пришло самым первым, но есть несколько вопросов по нему, которые заставили отложить данную идею:
1. В данный файл добавляю следующее (это позволит полям появится в админке):
- <param name="category_new" type="jbbool" default="0" label="Новинка"
- description="Отметка о новинке"/>
- <param name="category_hit" type="jbbool" default="0" label="Хит продаж"
- description="Отметка о хите продаж"/>
- <param name="category_sale" type="jbbool" default="0" label="Распродажа"
- description="Распродажа"/>
2. Что далее? Как прописать условия в самом шаблоне Category и SubCategory, чтобы был вывод?
3. Как сделать так, чтобы после обновления все это не слетело?
=====
И отдельный вопрос - тем путем, как сейчас реализовано (Через подзаголовок к категории) - никак не реализовать?
Отправлено 22 January 2016 - 08:53
LeMax сказал(а) 22 Янв 2016 - 05:52:
Что далее? Как прописать условия в самом шаблоне Category и SubCategory, чтобы был вывод?
Получить данные из параметров в шаблоне категории можно с помощью:
LeMax сказал(а) 22 Янв 2016 - 05:52:
3. Как сделать так, чтобы после обновления все это не слетело?
Сделать копию вашего шаблона, переименовать его своим именем и вносить правки.
LeMax сказал(а) 22 Янв 2016 - 05:52:
И отдельный вопрос - тем путем, как сейчас реализовано (Через подзаголовок к категории) - никак не реализовать?
Правильное решение описал выше. С подкатегориями не получится, так как возвращается массив подкатегорий а не значения из одной подкатегории
Отправлено 22 January 2016 - 09:39
Благодарю.
В template.xml - указал все как выше, в админке возможность выбора появилось, по умолчанию "Нет"
В Шаблоне субкатегории вывожу в нужном месте следующим методом:
- <?php if ((int) $vars['params']->get('category_new', 1)) : ?>
- <div class="uk-panel-badge uk-badge"><?php echo 'Новинка' ?></div>
- <?php endif; ?>
или так
- <?php if ((int) $vars['params']->get('category_new', 1)) {
- echo '<div class="uk-panel-badge uk-badge">New</div>';
- } ?>
Но значение теперь выводится всегда и на всех подкатегориях, без относительно что выбрано в админке "Да" или "Нет".
Может быть указан не правильно КЛЮЧ ?
Пробовал еще такие варианты, но результат тот же
- 'content.category_new'
- - при таком ключе, всегда и на всех отображается NEW
- 'template.category_new'
- - при таком ключе все категории, что внутри - у них появляется отметка NEW, но на самой категории отметки не появляется
Возможно упущено какое то значение или не объявлена переменная в начале шаблона в '// set vars', там есть только
- $this->app->jbdebug->mark('layout::subcategory(' . $vars['object']->id . ')::start');
- // set vars
- $subcategory = $vars['object'];
- $parentCategory = $subcategory->getParent();
- $params = $subcategory->getParams('site');
- $link = $this->app->route->category($subcategory);
- $task = $this->app->jbrequest->get('task', 'category');
- // teaser content
- $text = $params->get('content.category_teaser_text', '');
- // items
- $itemsOrder = $vars['params']->get('config.item_order', 'none');
- $maxItems = $vars['params']->get('template.subcategory_items_count', 5);
- $showCount = $vars['params']->get('template.subcategory_items_count_show', 1);
- $items = array();
- $image = $this->app->jbimage->get('category_teaser_image', $params);
или где-то еще что-то нужно дописать?
Сообщение отредактировал LeMax: 22 January 2016 - 10:00
Отправлено 22 January 2016 - 10:09
LeMax, видимо вы делайте этот вывод в подкатегориях, когда необходимо в шаблоне категории:
- <?php
- // по умолчанию отключено везде, пока в параметрах не указано ДА
- if ((int) $vars['params']->get('template.category_new', 0)) {
- echo '<div class="uk-panel-badge uk-badge">New</div>';
- } ?>
Отправлено 22 January 2016 - 10:29
Иерархия:
Когда заходим в "Фотообои" - на Категории "Транспорт" должна появляться надпись "Новинка" (это Subcategory)
Когда заходим в "Транспорт" - должна появляться надпись "Новинка" только на нужных категориях, а не на всех (это все еще Subcategory)
Когда заходим в "Вертолет" - там показывается "Новинка", и пока это реализовано через "Подзаголовок категории" (это как раз Category)
(сейчас это все настроено на сайте "как есть" и можно посмотреть)
Зачем нам что-то писать в шаблоне категории, если мне как раз нужно в подкатегории? И чтобы значение срабатывало не на дочерние элементы, а проставлялось на самой подкатегории.
Цитата
Сообщение отредактировал LeMax: 22 January 2016 - 10:30