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

Материал из Umicms
Перейти к:навигация, поиск

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

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