Гриша К.
Новичок
Вывод дерева при помощи рекурсивного вызова -> как встроить в шаблоны Smarty
Здравствуйте.
Я решил использовать меню с неограниченным уровнем вложенности для своего проекта в виде списков смежности (интернет-магазин, вообще сейчас требуется только 3 уровня вложенности).
За основу беру скрипты-примеры из http://phpclub.ru/faq/wakka.php?wakka=Tree&v=w5u#Demo.
Для вывода дерева в скрипте http://phpclub.ru/faq/wakka.php?wakka=Tree/DemoPrintFunction&v=113o и http://phpclub.ru/faq/wakka.php?wakka=Tree/DemoPrintTemplate&v=1n8 используется рекурсивный вызов.
Для содержания шаблонов я решил использовать Smarty.
Я незнаю как мне разделить логику и содержимое для вывода дерева используя рекурсивный вызов, если вы сталкивались с такой же проблемый и вы можете свободно предложить ваше решение, то напишите пожалуйста его.
Предположительные варианты решения:
(1) Каким-либо образом сделать вывод дерева без рекурсивного вызова?
(2) Использовать рекурсивный вызов в шаблонах Smarty. Как?
(3) Возможно стоит подключить php-скрипт непосредственно в шаблон Smarty, но смысл разделения логики и содержимого теряется.
Здравствуйте.
Я решил использовать меню с неограниченным уровнем вложенности для своего проекта в виде списков смежности (интернет-магазин, вообще сейчас требуется только 3 уровня вложенности).
За основу беру скрипты-примеры из http://phpclub.ru/faq/wakka.php?wakka=Tree&v=w5u#Demo.
Для вывода дерева в скрипте http://phpclub.ru/faq/wakka.php?wakka=Tree/DemoPrintFunction&v=113o и http://phpclub.ru/faq/wakka.php?wakka=Tree/DemoPrintTemplate&v=1n8 используется рекурсивный вызов.
Для содержания шаблонов я решил использовать Smarty.
Я незнаю как мне разделить логику и содержимое для вывода дерева используя рекурсивный вызов, если вы сталкивались с такой же проблемый и вы можете свободно предложить ваше решение, то напишите пожалуйста его.
Предположительные варианты решения:
(1) Каким-либо образом сделать вывод дерева без рекурсивного вызова?
(2) Использовать рекурсивный вызов в шаблонах Smarty. Как?
(3) Возможно стоит подключить php-скрипт непосредственно в шаблон Smarty, но смысл разделения логики и содержимого теряется.
PHP:
{php}
echo '<ul>';
for($i=0;$i<count($a_tree);$i++) {
echo '<li>';
echo '$a_tree[$i]['s_name']';
if(!empty($a_tree[$i]['a_tree']))
tree_template_load($a_tree[$i]['a_tree']);
echo '</li>';
}
echo '</ul>';
{php}