Всем добрый день, для начала кратко опишу сут проблемы.
Программирование занимаюсь не так давно, просто пишу для себя(изобретаю велосипеды), пытаюсь реализовать интересные на мой взгляд задачи.
На выходных присмотрелся к реализации выпадающего меню, с возможностью редактирования категорий и выводом из БД.
Собственно на этом этапе все сделал, но не учел что теоретически список категорий-подкатегорий бесконечен и выводить такое полотно значений не комильфо, пришлось искать и переписывать решение этой проблемы.
В общем в итоге нашел подходящий пример, написал функцию А которая проверяет категории начиная с нулевой, внутри этой функции вызываю функцию Б, которая проходится по циклу и ищет у этих категорий подкатегории и так по кругу.
Суть в том что когда дошел до вывода в шаблон в итоге получил только вывод с помощью $this->__funcA($array);
Который лепит мне менюшку абы где. Вопрос как закинуть полученные после обработки функцией данные в шаблон с последующим выводом в любой точке шаблона.
Код функций
CODE ( htmlphp):
скопировать код в буфер обмена
public function __tree($array = null, $parent_id = null) { echo "<ul id='menu'>"; foreach($array as $array2) { echo '<li>'; echo $array2->name; $this->__tree2($array2); echo '</li>'; } echo '</ul>'; } public function __tree2($array) { if($array->has_children()) { echo '<ul>'; foreach($array->children() As $arrayChild) { echo '<li>'; echo $arrayChild->name; $this->__tree2($arrayChild); echo '</li>'; } echo '</ul>'; } }
Код запросов:
CODE ( htmlphp):
скопировать код в буфер обмена
$past = ORM::factory('categorie'); $past->where('parent_id', '=', '0'); $past = $past->find_all(); $this->__tree($past);
подскажите хотя бы ход мыслей)
заранее благодарю)
(Добавление)
А все решил своими силами, если кому интересно будет, выложу весь скрипт целиком менюшка на ORM MPTT
|