Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

t1PSY

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Вывод каталога в боковом меню
« : 01 Ноября 2011, 15:29:26 »
Задача: Вывести листинг каталога в боковом меню вида

Категория1:
 - товар1
 - товар2
...

Категория2:
...

Как я понял в нужном месте шаблона странице нужно вызвать макрос %catalog getCategoryList()% . Для него создать шаблон в котором бы выводились название категорий и в нем же вызвать %catalog getObjectsList()%, отредактировать шаблон макроса на вывод названия товара.

Вопрос: есть ли другие способы/готовые решения для этого дела? Синтаксис tpl шаблонизатора пока не до конца ясен.

*

t1PSY

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:Вывод каталога в боковом меню
« Ответ #1 : 01 Ноября 2011, 17:51:27 »
начал делать сам, принцип от части понял, но столкнулся с проблемой.

Вывел макросом листинг категорий в шаблоне:
<div id="left" class="column">
%search insert_form('home')%
%catalog getCategoryList('level1', '/market/')%
%catched_errors%
</div>

Шаблон для catalog getCategoryList:
<?php

$FORMS = Array();

$FORMS['category_block'] = <<<END
<div id="rubricator" class="block">
    <h2>%h1%</h2>
    <ul>%lines%</ul>
</div>

END;


$FORMS['category_block_empty'] = <<<END

END;

$FORMS['category_block_line'] = <<<END
<li><a href="%link%" umi:element-id="%id%" umi:field-name="name">%text%</a></li>
%catalog getObjectsList('level2', '%id%')%
END;

?>

Но объекты выводятся только для первой категории.  ??? В чем может быть ошибка?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Вывод каталога в боковом меню
« Ответ #2 : 01 Ноября 2011, 20:03:16 »
ну если внутри страницы /market/ больше одной категории товаров, то действительно странно, очевидных ошибок бросающихся в глаза не заметил, есть ссылка посмотреть + скрин структуры в админке?

*

t1PSY

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:Вывод каталога в боковом меню
« Ответ #3 : 02 Ноября 2011, 10:34:02 »
Все выполняется на стандартном шаблоне интернет магазина с хомячками, там 2 категории товара, 1 подкатегория. Структуру не менял.

*

t1PSY

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:Вывод каталога в боковом меню
« Ответ #4 : 02 Ноября 2011, 11:51:55 »
%catalog getObjectsList('level2', '%id%')%
заменил на
%catalog getObjectsList('level2', '%id%', 50, 0, 5)%
не был настроен уровень вложенности.

Возник другой вопрос, как изменить вывод на такой:
Категория1:
 - товар1
 - товар2
...

Категория2:
  -подкатегория1
  -подкатегория2
...


*

t1PSY

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:Вывод каталога в боковом меню
« Ответ #5 : 02 Ноября 2011, 12:14:56 »
Вобщем разобрался 8) Может кому понадобится отпишу.

если нужно вывести:
Категория2:
  - подкатегория1
     - товар1 
  - подкатегория2
     - товар2

то нужно еще рекурсивно вызвать получение категорий:
%catalog getObjectsList('level2', '%id%')%
%catalog getCategoryList('level1', '%id%')%

для своего примера я создал еще один шаблон но без вывода объектов.