Как сделать различный вывод разделов, содержащих объекты, и пустых разделов каталога TPL — различия между версиями
Материал из Umicms
Sv (обсуждение | вклад) (Новая страница: «<hr> <h2>Как сделать различный вывод разделов, содержащих объекты, и пустых разделов каталога…») |
Sv (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | Допустим, необходимо реализовать следующую схему: разделы каталога, содержащие объекты, выглядят как ссылки на страницу просмотра списка объектов. Пустые разделы - просто текст. Раздел может содержать только подразделы или только объекты. | |
− | |||
− | |||
− | |||
В итоге должно быть: | В итоге должно быть: | ||
− | + | <pre> | |
Раздел 1-го уровня | Раздел 1-го уровня | ||
Раздел 2-го уровня (1) | Раздел 2-го уровня (1) | ||
Строка 11: | Строка 8: | ||
Раздел 3-го уровня (пустой) | Раздел 3-го уровня (пустой) | ||
Раздел 2-го уровня (с объектами) | Раздел 2-го уровня (с объектами) | ||
+ | </pre> | ||
+ | Пример приводится на двух шаблонах: '''''~/tpls/catalog/default.tpl''''' и '''''~/tpls/catalog/default1.tpl''''': | ||
− | + | В стандартном шаблоне '''default.tpl''' редактируем блок ['category_block_line']: | |
− | |||
− | В стандартном шаблоне default.tpl редактируем блок 'category_block_line': | ||
<pre> | <pre> | ||
<?php | <?php | ||
$FORMS['category_block_line'] = <<<END | $FORMS['category_block_line'] = <<<END | ||
− | % catalog getObjectsList('default1', '% id%')% | + | %catalog getObjectsList('default1', '%id%')% |
− | % catalog getCategoryList('default', '% id%')% | + | %catalog getCategoryList('default', '%id%')% |
END; | END; | ||
?> | ?> | ||
Строка 26: | Строка 23: | ||
− | А в шаблон default1.tpl, по которому будет формироваться вывод разделов, размещаем следующий код: | + | А в шаблон '''default1.tpl''', по которому будет формироваться вывод разделов, размещаем следующий код: |
<pre> | <pre> | ||
<?php | <?php | ||
$FORMS = Array(); | $FORMS = Array(); | ||
$FORMS['objects_block'] = <<<END | $FORMS['objects_block'] = <<<END | ||
− | <li><a href="% content get_page_url('% id%')%"><b>% h1%</b></a></li> | + | <li><a href="%content get_page_url('%id%')%"><b>%h1%</b></a></li> |
END; | END; | ||
$FORMS['objects_block_empty'] = <<<END | $FORMS['objects_block_empty'] = <<<END | ||
− | <li>% h1%</li> | + | <li>%h1%</li> |
END; | END; | ||
?> | ?> |
Версия 15:55, 12 января 2010
Допустим, необходимо реализовать следующую схему: разделы каталога, содержащие объекты, выглядят как ссылки на страницу просмотра списка объектов. Пустые разделы - просто текст. Раздел может содержать только подразделы или только объекты.
В итоге должно быть:
Раздел 1-го уровня Раздел 2-го уровня (1) Раздел 3-го уровня (с объектами) Раздел 3-го уровня (пустой) Раздел 2-го уровня (с объектами)
Пример приводится на двух шаблонах: ~/tpls/catalog/default.tpl и ~/tpls/catalog/default1.tpl:
В стандартном шаблоне default.tpl редактируем блок ['category_block_line']:
<?php $FORMS['category_block_line'] = <<<END %catalog getObjectsList('default1', '%id%')% %catalog getCategoryList('default', '%id%')% END; ?>
А в шаблон default1.tpl, по которому будет формироваться вывод разделов, размещаем следующий код:
<?php $FORMS = Array(); $FORMS['objects_block'] = <<<END <li><a href="%content get_page_url('%id%')%"><b>%h1%</b></a></li> END; $FORMS['objects_block_empty'] = <<<END <li>%h1%</li> END; ?>
В итоге имеем необходимый результат.