С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: Yii, Yii2
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Rayzor92
14 / 14 / 4
Регистрация: 21.04.2012
Сообщений: 393
1

Yii2 рекурсия во view's

08.10.2016, 23:22. Просмотров 531. Ответов 2
Метки нет (Все метки)

Есть структура с неопределённой вложенностью, например массив, элементы которого ассоциативные массивы, у которых может быть ключ children, в котором будут лежать другие ассоциативные массивы, пример:
PHP
1
2
3
4
$example = array(
 array('name'=>'test',
          'children' => array(...))
);
Если мы используем такую структуру в контроллерах, то для массива специально создаётся функция, которая перебирает элементы массива и если есть дочерние, то функция вызываем саму себя, передавая в неё уже массив дочерних элементов и т.д..

А что если надо вывести все элементы из такой структуры во view'е? Прям в шаблоне функцию определять? Как-то это не красиво. Можно её запихнуть в какую-нить модель, но тогда и всё оформление передаётся в модель, и функция либо будет возвращать готовый html код который никак не изменишь, либо через echo сама выводить нужный контент, и из view'и его тоже не изменишь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2016, 23:22
Ответы с готовыми решениями:

Ошибка при установке Yii2-user with Yii2 advanced template
https://github.com/dektrium/yii2-user/blob/master/docs/usage-with-advanced-templ...

Простой многостраничный сайт на Yii2 без БД, есть ли быстрый старт для новичка в Yii2?
Привет! Решил смастерить сайт на Yii2, прочел вчера вводный раздел...

Не выводит Views
Здравствуйте уважаемые форумчане. Кое в чем разобрался, но до конца...

CodeIgniter. Какой полный url к views/auth/index.php без mod_rewrite?
CodeIgniter. Какой полный url к views/auth/index.php без mod_rewrite?

Yii2
public function getProducts1() { $time1 = self::$time1; ...

2
tarasalk
1239 / 746 / 294
Регистрация: 13.06.2013
Сообщений: 2,622
09.10.2016, 09:31 2
Цитата Сообщение от Rayzor92 Посмотреть сообщение
Можно её запихнуть в какую-нить модель, но тогда и всё оформление передаётся в модель, и функция либо будет возвращать готовый html код который никак не изменишь, либо через echo сама выводить нужный контент, и из view'и его тоже не изменишь.
Есть и третий вариант. Преобразовать массив в одномерный и передать дальше.
0
Rayzor92
14 / 14 / 4
Регистрация: 21.04.2012
Сообщений: 393
09.10.2016, 11:37  [ТС] 3
он и был изначально одномерным, а как мне вывести древовидную структуры? Речь идёт о меню сайта допустим, как в jooml'е, где вложенность может быть 3-4 уровней
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2016, 11:37

Yii2
Всем привет, нужна помощь с фреймворком. Вобщем, мне в качестве практики нужно...

GET форма Yii2
Добрый день. Подскажите пожалуйста как решить проблему. Делал голосовалку. Есть...

Авторизация в yii2
Как авторизовать пользователя по никнейму - если никнейма в базе нет то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru