Вывод всех постов пользователя
Материал из Umicms
Версия от 08:21, 5 июня 2013; Mad grant (обсуждение | вклад)
Актуально для версии 2.9
Задача: вывести все посты в блогах, созданные определенным пользователем.
Для реализации данной задачи напишем кастомный макрос в файле /classes/modules/custom.php:
public function postList($id){
$posts = new selector('pages');
$posts->types('hierarchy-type')->name('blogs20', 'post');
$posts->where('owner')->equals($id);
$res = "";
foreach ($posts as $post){
$res.= "<li><a href=\"{$post->link}\">{$post->name}</a>\n";
}
return $res;
}
Каждый найденный пост будет оформляться в виде ссылки и выводиться списком.
Вызов кастома пропишем в шаблоне /templates/demoold/tpls/users/profile/default.tpl, который отвечает за вывод страницы с профилем пользователя. При вызове кастома передаем id пользователя:
Посты в блогах: <ul>%custom postList(%id%)%</ul>