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


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

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

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

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

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

 

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

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

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

        <?php if (in_array($task, array('category', 'frontpage'))) : ?>
            <?php if ($maxItems != 0 && count($items) > 0) : ?>
                <div class="subcategory-items clearfix">
                    <?php
                    foreach ($items as $item) {
                        echo $this->app->jblayout->renderItem($item, 'subcategory_item');
                    }
                    ?>
                </div>
            <?php endif; ?>
        <?php endif; ?>

на

        <?php if (in_array($task, array('category', 'frontpage'))) : ?>
            <?php if ($maxItems != 0 && count($items) > 0) : ?>
                <div class="subcategory-items clearfix">
                    <?php

                    	// init vars
                    	$i = 0;
                    	$columns = $vars['params']->get('template.subcategory_items_cols', 4);

                    	// render rows
                    	foreach ($items as $item) {
                    		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'.'}">');
                    		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>';
                    		$i++;
                    	}
                        echo '</div>';

                    	if (!empty($this->items)) {
                    		echo '</div>';
                    	}

                    ?>
                </div>
            <?php endif; ?>
        <?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

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

 

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

 

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

 

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

 

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


  • 0

#4 Владимир

Владимир

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

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

 

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

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

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

        <?php if (in_array($task, array('category', 'frontpage'))) : ?>
            <?php if ($maxItems != 0 && count($items) > 0) : ?>
                <div class="subcategory-items clearfix">
                    <?php
                    foreach ($items as $item) {
                        echo $this->app->jblayout->renderItem($item, 'subcategory_item');
                    }
                    ?>
                </div>
            <?php endif; ?>
        <?php endif; ?>

на

        <?php if (in_array($task, array('category', 'frontpage'))) : ?>
            <?php if ($maxItems != 0 && count($items) > 0) : ?>
                <div class="subcategory-items clearfix">
                    <?php

                    	// init vars
                    	$i = 0;
                    	$columns = $vars['params']->get('template.subcategory_items_cols', 4);

                    	// render rows
                    	foreach ($items as $item) {
                    		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'.'}">');
                    		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>';
                    		$i++;
                    	}
                        echo '</div>';

                    	if (!empty($this->items)) {
                    		echo '</div>';
                    	}

                    ?>
                </div>
            <?php endif; ?>
        <?php endif; ?>

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


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

  • 2





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

Click to return to top of page in style!