Перейти к содержимому


Фотография
- - - - -

Подзаголовок Категории как вывести?

subcategory subtitle category

  • Закрытая тема Тема закрыта
Сообщений в теме: 25

#11 LeMax

LeMax

Отправлено 21 January 2016 - 10:42

Должно в итоге получиться так

Прикрепленные изображения

  • Снимок экрана 2016-01-21 в 14.41.33.png

Сообщение отредактировал LeMax: 21 January 2016 - 10:42

  • 0

#12 Cheren-dow

Cheren-dow

Отправлено 21 January 2016 - 14:33

LeMax, мне кажется для вашего результата необходимо сделать доп параметр для категории, например чекбокс и если чекбокс установлен выводить заголовок новинка если нет то не выводить. Добавить параметр вы сможете в файле, в группе category

\media\zoo\applications\jbuniversal\templates\auto\template.xml 

  • 0
Изображение
 

#13 LeMax

LeMax

Отправлено 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. Как сделать так, чтобы после обновления все это не слетело?

 

=====

 

И отдельный вопрос - тем путем, как сейчас реализовано (Через подзаголовок к категории) - никак не реализовать?


  • 0

#14 Cheren-dow

Cheren-dow

Отправлено 22 January 2016 - 08:53

Что далее? Как прописать условия в самом шаблоне Category и SubCategory, чтобы был вывод?

Получить данные из параметров в шаблоне категории можно с помощью:

if ((int) $vars['params']->get('КЛЮЧ', 1)) {
   echo 'Выводим текст если значение установлено в ДА'
}

3. Как сделать так, чтобы после обновления все это не слетело?

Сделать копию вашего шаблона, переименовать его своим именем и вносить правки.

И отдельный вопрос - тем путем, как сейчас реализовано (Через подзаголовок к категории) - никак не реализовать?

Правильное решение описал выше. С подкатегориями не получится, так как возвращается массив подкатегорий а не значения из одной подкатегории


  • 0
Изображение
 

#15 LeMax

LeMax

Отправлено 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

  • 0

#16 Cheren-dow

Cheren-dow

Отправлено 22 January 2016 - 09:56

LeMax, вы не верный ключ используете, попробуйте:

<?php if ((int) $vars['params']->get('template.category_new', 1)) {
   echo '<div class="uk-panel-badge uk-badge">New</div>';
} ?>

Посмотреть верный ключ можно с дампив объект:

var_dump($vars['params']);

  • 0
Изображение
 

#17 LeMax

LeMax

Отправлено 22 January 2016 - 10:03

'template.category_new' - при таком ключе все категории, что внутри - у них появляется отметка NEW, но на самой категории отметки не появляется
 
  • 0

#18 Cheren-dow

Cheren-dow

Отправлено 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>';
} ?>

  • 0
Изображение
 

#19 LeMax

LeMax

Отправлено 22 January 2016 - 10:29

Иерархия:

 

Когда заходим в "Фотообои" - на Категории "Транспорт" должна появляться надпись "Новинка"  (это  Subcategory)

Когда заходим в "Транспорт" - должна появляться надпись "Новинка" только на нужных категориях, а не на всех (это все еще Subcategory)

Когда заходим в "Вертолет" - там показывается "Новинка", и пока это реализовано через "Подзаголовок категории" (это как раз Category)

 

(сейчас это все настроено на сайте "как есть" и можно посмотреть)

 

Зачем нам что-то писать в шаблоне категории, если мне как раз нужно в подкатегории? И чтобы значение срабатывало не на дочерние элементы, а проставлялось на самой подкатегории.

 

ФОТООБОИ


Сообщение отредактировал LeMax: 22 January 2016 - 10:30

  • 0

#20 Cheren-dow

Cheren-dow

Отправлено 22 January 2016 - 10:33

LeMax, укажите значение 0 

$vars['params']->get('template.category_new', 0)

В нужной категории установите свой параметр в ДА, тогда будет отображение только в той подкатегории в которой установлено значение в ДА.


  • 0
Изображение
 





Темы с аналогичным тегами subcategory, subtitle, category

Click to return to top of page in style!