Как сделать различный вывод разделов, содержащих объекты, и пустых разделов каталога TPL — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «<hr> <h2>Как сделать различный вывод разделов, содержащих объекты, и пустых разделов каталога…»)
 
Строка 1: Строка 1:
<hr>
+
Допустим, необходимо реализовать следующую схему: разделы каталога, содержащие объекты, выглядят как ссылки на страницу просмотра списка объектов. Пустые разделы - просто текст. Раздел может содержать только подразделы или только объекты.
<h2>Как сделать различный вывод разделов, содержащих объекты, и пустых разделов каталога?</h2>
 
 
 
Разделы каталога, содержащие объекты выглядят как ссылки на страницу просмотра списка объектов. Пустые разделы - просто текст. Раздел может содержать только подразделы или только объекты.
 
  
 
В итоге должно быть:
 
В итоге должно быть:
 
+
<pre>
 
Раздел 1-го уровня
 
Раздел 1-го уровня
 
   Раздел 2-го уровня (1)
 
   Раздел 2-го уровня (1)
Строка 11: Строка 8:
 
   Раздел 3-го уровня (пустой)
 
   Раздел 3-го уровня (пустой)
 
   Раздел 2-го уровня (с объектами)
 
   Раздел 2-го уровня (с объектами)
 +
</pre>
  
 +
Пример приводится на двух шаблонах: '''''~/tpls/catalog/default.tpl''''' и '''''~/tpls/catalog/default1.tpl''''':
  
Пример приводится на двух шаблонах: ~/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;
?>


В итоге имеем необходимый результат.