Best Answer Владимир , 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; ?>
Работает, но, возможно, где-то вылезет ошибка (я-то не настоящий сварщик). Поправьте, пожалуйса, кто разбирается.
Go to the full post