Многоуровневое меню, где каждый уровень - отдельный список — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
м (переименовал «Как сделать многоуровневое меню, где каждый уровень - отдельный список?» в «[[Многоуровневое меню, где каждый уровень - отде)
Строка 7: Строка 7:
  
 
В шаблоне дизайна пропишите макрос % content menu('sl')%, где sl - шаблон из папки tpls/content/menu/ вида:
 
В шаблоне дизайна пропишите макрос % content menu('sl')%, где sl - шаблон из папки tpls/content/menu/ вида:
 
+
<pre>
<source lang="php">
 
 
<?php
 
<?php
  
Строка 41: Строка 40:
  
 
?>
 
?>
</source>
+
</pre>
  
 
Обратите внимание на макрос % content menu('sl2',% pid%)% из блока ['menu_block_level2']. В нем, с помощью макроса % pid% мы подхватываем идентификатор текущей (то есть активной) страницы и, таким образом, указываем макросу родительский элемент, от которого следует выводить страницы. Шаблон tpls/content/menu/sl2.tpl должен иметь вид:
 
Обратите внимание на макрос % content menu('sl2',% pid%)% из блока ['menu_block_level2']. В нем, с помощью макроса % pid% мы подхватываем идентификатор текущей (то есть активной) страницы и, таким образом, указываем макросу родительский элемент, от которого следует выводить страницы. Шаблон tpls/content/menu/sl2.tpl должен иметь вид:

Версия 12:32, 1 сентября 2009


Как сделать многоуровневое меню, где каждый уровень - отдельный список?


Для решения этой задачи придется использовать не совсем корректный способ. Не рекомендуется использовать его для меню с большой вложенностью.

В шаблоне дизайна пропишите макрос % content menu('sl')%, где sl - шаблон из папки tpls/content/menu/ вида:

<?php

$FORM = Array();

$FORMS['menu_block_level1'] = <<<END
% lines%
END;

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

END;

$FORMS['menu_line_level1_a'] = <<<END
% sub_menu%
END;



$FORMS['menu_block_level2'] = <<<END
<ul id="submenu">% lines%</ul>
% content menu('sl2',% pid%)%
END;

$FORMS['menu_line_level2'] = <<<END
<li><a href="% link%">% text%</a></li>
END;

$FORMS['menu_line_level2_a'] = <<<END
<li class="active"><a href="%link%">% text%</a></li>
END;

?>

Обратите внимание на макрос % content menu('sl2',% pid%)% из блока ['menu_block_level2']. В нем, с помощью макроса % pid% мы подхватываем идентификатор текущей (то есть активной) страницы и, таким образом, указываем макросу родительский элемент, от которого следует выводить страницы. Шаблон tpls/content/menu/sl2.tpl должен иметь вид:


<?php

$FORM = Array();

$FORMS['menu_block_level1'] = <<<END
<ul id="submenu">% lines%</ul>
END;

$FORMS['menu_line_level1'] = <<<END
<li><a href="% link%">% text%</a></li>
END;

$FORMS['menu_line_level1_a'] = <<<END
<li class="active"><a href="% link%">% text%</a></li>
END;

?>