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