Показать массив с навигационными данными в CakePHP View - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть массив для отображения в CakePHP View, который содержит навигационные данные.Каждый элемент массива содержит поля, такие как id, name, level и т. Д., А также другое поле массива с именем children, где эта структура повторяется.

В Cake PHP View легко пройти массив на первом уровнецикл foreach и html-помощник для вывода соответствующих данных.Но как вывести дочерние элементы (а затем их детей, если они есть)?Обычно я выполняю рекурсивный вызов функции, но в представлении вы не должны использовать функцию look, не так ли?Bunt внутри контроллера я не могу использовать помощника HTML, поэтому я застрял здесь.

Ответы [ 3 ]

1 голос
/ 13 февраля 2011

Я считаю чистым решением сделать помощник для итерации по массиву рекурсивно искать каждый элемент, если один из них другой массив (http://book.cakephp.org/#!/view/1097/Creating-Helpers)

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

0 голосов
/ 15 февраля 2011

вам нужен что-то вроде рекурсивного метода, который может вызывать себя, что-то вроде следующего. https://github.com/infinitas/infinitas/blob/beta/core/menus/views/helpers/menu.php#L163

0 голосов
/ 13 февраля 2011

Похоже, вы можете попробовать поведение дерева

http://book.cakephp.org/#!/view/1341/Basic-Usage

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...