Должно в итоге получиться так
Edited by LeMax, 21 January 2016 - 10:42.
Posted 21 January 2016 - 14:33
LeMax, мне кажется для вашего результата необходимо сделать доп параметр для категории, например чекбокс и если чекбокс установлен выводить заголовок новинка если нет то не выводить. Добавить параметр вы сможете в файле, в группе category
\media\zoo\applications\jbuniversal\templates\auto\template.xml
Posted 22 January 2016 - 06:52
сделать доп параметр для категории
Да, такое решение мне пришло самым первым, но есть несколько вопросов по нему, которые заставили отложить данную идею:
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. Как сделать так, чтобы после обновления все это не слетело?
=====
И отдельный вопрос - тем путем, как сейчас реализовано (Через подзаголовок к категории) - никак не реализовать?
Posted 22 January 2016 - 08:53
Что далее? Как прописать условия в самом шаблоне Category и SubCategory, чтобы был вывод?
Получить данные из параметров в шаблоне категории можно с помощью:
if ((int) $vars['params']->get('КЛЮЧ', 1)) { echo 'Выводим текст если значение установлено в ДА' }
3. Как сделать так, чтобы после обновления все это не слетело?
Сделать копию вашего шаблона, переименовать его своим именем и вносить правки.
И отдельный вопрос - тем путем, как сейчас реализовано (Через подзаголовок к категории) - никак не реализовать?
Правильное решение описал выше. С подкатегориями не получится, так как возвращается массив подкатегорий а не значения из одной подкатегории
Posted 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);
или где-то еще что-то нужно дописать?
Edited by LeMax, 22 January 2016 - 10:00.
Posted 22 January 2016 - 10:03
'template.category_new' - при таком ключе все категории, что внутри - у них появляется отметка NEW, но на самой категории отметки не появляется
Posted 22 January 2016 - 10:09
LeMax, видимо вы делайте этот вывод в подкатегориях, когда необходимо в шаблоне категории:
\media\zoo\applications\jbuniversal\templates\ШАБЛОН\renderer\category\_defaul.php
<?php // по умолчанию отключено везде, пока в параметрах не указано ДА if ((int) $vars['params']->get('template.category_new', 0)) { echo '<div class="uk-panel-badge uk-badge">New</div>'; } ?>
Posted 22 January 2016 - 10:29
Иерархия:
Когда заходим в "Фотообои" - на Категории "Транспорт" должна появляться надпись "Новинка" (это Subcategory)
Когда заходим в "Транспорт" - должна появляться надпись "Новинка" только на нужных категориях, а не на всех (это все еще Subcategory)
Когда заходим в "Вертолет" - там показывается "Новинка", и пока это реализовано через "Подзаголовок категории" (это как раз Category)
(сейчас это все настроено на сайте "как есть" и можно посмотреть)
Зачем нам что-то писать в шаблоне категории, если мне как раз нужно в подкатегории? И чтобы значение срабатывало не на дочерние элементы, а проставлялось на самой подкатегории.
Edited by LeMax, 22 January 2016 - 10:30.