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


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

Колонки элементов подкатегорий

колонки элементов подкатегории внешний вид

Лучший Ответ Владимир , 30 May 2016 - 12:24

Если вдруг кому интересно, пока сделал без выбора шаблона.

 

В файле template.xml своего шаблона добавил выбор опций

  1. <param name="subcategory_items_cols" type="radio" default="1" label="JBZOO_ITEM_COLS" description="JBZOO_ITEM_COLS_DESC">
  2. <option value="1">JBZOO_NUMBERS_1</option>
  3. <option value="2">JBZOO_NUMBERS_2</option>
  4. <option value="3">JBZOO_NUMBERS_3</option>
  5. <option value="4">JBZOO_NUMBERS_4</option>
  6. <option value="5">JBZOO_NUMBERS_5</option>
  7. <option value="6">JBZOO_NUMBERS_6</option>
  8. </param>

В файле ..renderer/subcategory/_default.php заменил вывод элемента

  1. <?php if (in_array($task, array('category', 'frontpage'))) : ?>
  2. <?php if ($maxItems != 0 && count($items) > 0) : ?>
  3. <div class="subcategory-items clearfix">
  4. <?php
  5. foreach ($items as $item) {
  6. echo $this->app->jblayout->renderItem($item, 'subcategory_item');
  7. }
  8. ?>
  9. </div>
  10. <?php endif; ?>
  11. <?php endif; ?>

на

  1. <?php if (in_array($task, array('category', 'frontpage'))) : ?>
  2. <?php if ($maxItems != 0 && count($items) > 0) : ?>
  3. <div class="subcategory-items clearfix">
  4. <?php
  5.  
  6. // init vars
  7. $i = 0;
  8. $columns = $vars['params']->get('template.subcategory_items_cols', 4);
  9.  
  10. // render rows
  11. foreach ($items as $item) {
  12. if ($i % $columns == 0) echo ($i > 0 ? '</div><div class="uk-grid" data-uk-grid-margin data-uk-grid-match="{target:'.'> div > .uk-panel'.'}">' : '<div class="uk-grid" data-uk-grid-margin data-uk-grid-match="{target:'.'> div > .uk-panel'.'}">');
  13. echo '<div class="item-column uk-width-1-1 uk-width-small-1-2 uk-width-medium-1-'.$columns.'"><div class="tm-panel-hover uk-panel uk-panel-hover">'.$this->app->jblayout->renderItem($item, 'subcategory_item').'</div></div>';
  14. $i++;
  15. }
  16. echo '</div>';
  17.  
  18. if (!empty($this->items)) {
  19. echo '</div>';
  20. }
  21.  
  22. ?>
  23. </div>
  24. <?php endif; ?>
  25. <?php endif; ?>

Работает, но, возможно, где-то вылезет ошибка (я-то не настоящий сварщик). Поправьте, пожалуйса, кто разбирается.

Перейти к сообщению


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

#1 Владимир

Владимир

Отправлено 28 May 2016 - 15:01

Подскажите, как добавить шаблон для вывода элементов подкатегорий?

Например, чтобы выводить элементы в несколько колонок, с настройками количества, как в элементах категорий.


  • 0

#2 Sliapy

Sliapy

Отправлено 28 May 2016 - 16:30

Посмотрите в документации, какой шаблон для этого используется http://jbzoo.ru/docs/how-work-jbzoo

 

В целом, в разделе документации "Шаблоны Zoo / JBZoo и их кастомизация" должно быть то, что вам нужно.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 Владимир

Владимир

Отправлено 29 May 2016 - 03:29

Sliapy сказал(а) 28 Май 2016 - 15:30:

Посмотрите в документации, какой шаблон для этого используется http://jbzoo.ru/docs/how-work-jbzoo

 

В целом, в разделе документации "Шаблоны Zoo / JBZoo и их кастомизация" должно быть то, что вам нужно.

 

Конечно, документацию прочитал.

 

Есть настройки шаблона и колонок для вывода материалов текущей категории, но это не то.

 

Я же говорю о настройке колонок для вывода материалов в подкатегории (сейчас можно указать только количество материалов, выводятся в 1 колонку). Шаблона для вывода колонок материалов подкатегории нет. Не соображу как такой шаблон добавить. Пока сделал колонки через css, но хотелось бы настраивать количество колонок для материалов разных подкатегорий.


  • 0

#4 Владимир

Владимир

Отправлено 30 May 2016 - 12:24   Лучший Ответ

Если вдруг кому интересно, пока сделал без выбора шаблона.

 

В файле template.xml своего шаблона добавил выбор опций

  1. <param name="subcategory_items_cols" type="radio" default="1" label="JBZOO_ITEM_COLS" description="JBZOO_ITEM_COLS_DESC">
  2. <option value="1">JBZOO_NUMBERS_1</option>
  3. <option value="2">JBZOO_NUMBERS_2</option>
  4. <option value="3">JBZOO_NUMBERS_3</option>
  5. <option value="4">JBZOO_NUMBERS_4</option>
  6. <option value="5">JBZOO_NUMBERS_5</option>
  7. <option value="6">JBZOO_NUMBERS_6</option>
  8. </param>

В файле ..renderer/subcategory/_default.php заменил вывод элемента

  1. <?php if (in_array($task, array('category', 'frontpage'))) : ?>
  2. <?php if ($maxItems != 0 && count($items) > 0) : ?>
  3. <div class="subcategory-items clearfix">
  4. <?php
  5. foreach ($items as $item) {
  6. echo $this->app->jblayout->renderItem($item, 'subcategory_item');
  7. }
  8. ?>
  9. </div>
  10. <?php endif; ?>
  11. <?php endif; ?>

на

  1. <?php if (in_array($task, array('category', 'frontpage'))) : ?>
  2. <?php if ($maxItems != 0 && count($items) > 0) : ?>
  3. <div class="subcategory-items clearfix">
  4. <?php
  5.  
  6. // init vars
  7. $i = 0;
  8. $columns = $vars['params']->get('template.subcategory_items_cols', 4);
  9.  
  10. // render rows
  11. foreach ($items as $item) {
  12. if ($i % $columns == 0) echo ($i > 0 ? '</div><div class="uk-grid" data-uk-grid-margin data-uk-grid-match="{target:'.'> div > .uk-panel'.'}">' : '<div class="uk-grid" data-uk-grid-margin data-uk-grid-match="{target:'.'> div > .uk-panel'.'}">');
  13. echo '<div class="item-column uk-width-1-1 uk-width-small-1-2 uk-width-medium-1-'.$columns.'"><div class="tm-panel-hover uk-panel uk-panel-hover">'.$this->app->jblayout->renderItem($item, 'subcategory_item').'</div></div>';
  14. $i++;
  15. }
  16. echo '</div>';
  17.  
  18. if (!empty($this->items)) {
  19. echo '</div>';
  20. }
  21.  
  22. ?>
  23. </div>
  24. <?php endif; ?>
  25. <?php endif; ?>

Работает, но, возможно, где-то вылезет ошибка (я-то не настоящий сварщик). Поправьте, пожалуйса, кто разбирается.


Сообщение отредактировал Владимир: 30 May 2016 - 12:26

  • 2





Темы с аналогичным тегами колонки элементов, подкатегории, внешний вид

Click to return to top of page in style!