![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Как помощью Template Toolkit выводить древовидные структуры (дерево комментариев)?
|
|||
|
||||
Paul56 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
Попробую высказать своё мнение а Ваш вопрос.
Мне кажется, что TT это просто удобный шаблонизатор и выводить древовидные структуры наверное им будет не совсем корректно. Какой уровень вложенности фиксированный или бесконечный... Все манипуляции по организации структуры данных и как они будут переданы в ТТ вы должны определить сами внутри скрипта. Разобрать родителей на детей это должен сделать Ваш скрипт и только потом передовать в ТТ. Это сугубо моё личное мнение. Учтите, что, если нагрузка на сервер приличная то ТТ относят к тяжеловесам. |
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
В TT передается уже готовое дерево. Организовывается в виде дерева, т.к. надо сделать дерево комментариев, вроде youtube, livejournal, habrahabr, где пользователь может ответить на коментарий другого пользователя, и ветку комментариев можно скрыть/раскрыть. Уровень вложенности желательно любой.
|
|||
|
||||
Paul56 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
Покажите дамп структуры который вы передаёте в ТТ
желательно через [% USE Dumper %] [% Dumper.dump(YouVars) %] Это сообщение отредактировал(а) Paul56 - 17.5.2010, 07:52 |
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Вот:
|
|||
|
||||
Paul56 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
а где id детей ;) ?
скрипт
|
||||
|
|||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Да, у каждого комментария есть id и parent_id.
Можете пояснить код? Что должна возвращать функция с рекурсией, контент элемента? И где $vars используется? |
|||
|
||||
Paul56 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
$vars используется тут:
Функция с рекурсией должна определять есть ли потомок у ответа или темы, если есть уходим ещё глубже и т.д. Погуглите на тему рекурсия думаю найдёте ответ. |
||||
|
|||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
По моему тут слишком мало кода.
должно как - то вызватся рекурсивно, но как? В этом то и основаная проблемма. Это сообщение отредактировал(а) Logo - 18.5.2010, 21:43 |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 2 Всего: 17 |
я это делал давненько только на HTML::Template
тут вот товарищ http://unixforum.org/index.php?showtopic=85944&hl= показал пример на HTML::Template аналогично точно так же может и везде... Это сообщение отредактировал(а) gcc - 19.5.2010, 01:33 |
|||
|
||||
Paul56 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 19.9.2008 Где: Екатеринбург Репутация: нет Всего: нет |
Да согласен с gcc, тогда будет достаточно одного цикла в шаблоне.
|
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Всем спасибо, решение нашлось http://www.perlmonks.org/?node_id=570059
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |