Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Kohana ORM MPTT и организация меню
Форумы портала PHP.SU » » CMS и фреймворки » Kohana ORM MPTT и организация меню

Страниц (1): [1]
 

1. miwka_barry - 24 Июля, 2014 - 14:19:23 - перейти к сообщению
Всем добрый день, для начала кратко опишу сут проблемы.
Программирование занимаюсь не так давно, просто пишу для себя(изобретаю велосипеды), пытаюсь реализовать интересные на мой взгляд задачи.
На выходных присмотрелся к реализации выпадающего меню, с возможностью редактирования категорий и выводом из БД.
Собственно на этом этапе все сделал, но не учел что теоретически список категорий-подкатегорий бесконечен и выводить такое полотно значений не комильфо, пришлось искать и переписывать решение этой проблемы.
В общем в итоге нашел подходящий пример, написал функцию А которая проверяет категории начиная с нулевой, внутри этой функции вызываю функцию Б, которая проходится по циклу и ищет у этих категорий подкатегории и так по кругу.
Суть в том что когда дошел до вывода в шаблон в итоге получил только вывод с помощью $this->__funcA($array);
Который лепит мне менюшку абы где. Вопрос как закинуть полученные после обработки функцией данные в шаблон с последующим выводом в любой точке шаблона.
Код функций
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. public function __tree($array = null, $parent_id = null)
  3.     {
  4.         echo "<ul id='menu'>";
  5.         foreach($array as $array2)
  6.         {
  7.             echo '<li>';
  8.             echo $array2->name;
  9.                  $this->__tree2($array2);
  10.             echo '</li>';                
  11.         }
  12.         echo '</ul>';
  13.     }
  14.    
  15.     public function __tree2($array)
  16.     {
  17.         if($array->has_children())
  18.         {
  19.             echo '<ul>';
  20.             foreach($array->children() As $arrayChild)
  21.             {
  22.                 echo '<li>';
  23.                 echo $arrayChild->name;
  24.                      $this->__tree2($arrayChild);
  25.                 echo '</li>';
  26.             }
  27.             echo '</ul>';
  28.         }
  29.     }
  30.  

Код запросов:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $past = ORM::factory('categorie');
  3.             $past->where('parent_id', '=', '0');
  4.             $past = $past->find_all();
  5.            
  6.             $this->__tree($past);
  7.  

подскажите хотя бы ход мыслей)
заранее благодарю)
(Добавление)
А все решил своими силами, если кому интересно будет, выложу весь скрипт целиком менюшка на ORM MPTT Улыбка

 

Powered by ExBB FM 1.0 RC1