| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
dimka 23.01.2005 00:09
Здравствуйте. Не могли бы вы подказать почему в упрощенном примере(не получается у меня подключить $MAIN:pSQL ругается на: undefined method@getMessagesByParent[parent_id;limit]
^connect[$connect_string]{$result[^table::sql{
SELECT
*
FROM
forum_message
WHERE
parent_id = ^parent_id.int(0) AND
is_published = 1
ORDER BY
dt_published DESC
}[^if(^limit.int(0)){$.limit(^limit.int(0))}]]}
@getMessagesByThread[thread]
^connect[$connect_string]{$result[^table::sql{
SELECT
*
FROM
forum_message
WHERE
^if($thread is table){
^if($thread){thread_id IN (^thread.menu{$thread.thread_id}[,]) AND}
}{
thread_id = ^thread.int(0) AND
}
is_published = 1
ORDER BY
forum_message_id DESC
}]}
@printMessagesByParent[messages;parent_id][levelmessages]
$levelmessages[^messages.select($messages.parent_id == $parent_id)]
^levelmessages.menu{
^printTreeItem[$levelmessages.fields;^printMessagesByParent[$messages;$levelmessages.forum_message_id]]
}
@printTreeItem[message;body]
$result[<li>$message.title ^if(!$message.is_not_empty){(-)},
$message.author [$message.dt_published]
^if(def $body){<ul>$body</ul>}
</li>]
@main[]
# достаем не более 20 корневых сообщений (parent_id == 0)
$rootMessages[^getMessagesByParent[0;20]]
# достаем все сообщения в тредах, которые мы только что достали
$messages[^getMessagesByThread[$rootMessages]]
# собственно выводим все данные о сообщениях в виде дерева
^printMessagesByParent[$messages;0]