Вывод всех постов пользователя

Материал из Umicms
Версия от 06:04, 30 января 2013; Yulia (обсуждение | вклад) (Новая страница: «Задача: вывести все посты в блогах, созданные определенным пользователем. Для реализации …»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Задача: вывести все посты в блогах, созданные определенным пользователем.

Для реализации данной задачи напишем кастомный макрос в файле /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>