Отображение постов (Количество и ID блога) [Решено]

Доброго времени суток.

Возник вопрос: Можно ли средством кода указать в topic_list.tpl (Или где правильнее?) количество топиков и ID из какого блога отображать топики?

Заранее спасибо за помощь.
______________________________________

Решение предоставил AlikMis.

{assign var="aFilter" value=[
	// список id блогов 
	'blog_id' => [
		1, 2, 3
	],
	// список типов блогов 
	'blog_type' => [
		'personal', 'open'
	],
	// список id пользователей
	'user_id' => [
		1, 2, 3
	],
	// опубликован топик или нет
	'topic_publish' => 1/0,
	// выборка по рейтингу топика
	'topic_rating' => [
		// значение рейтинга
		'value' => 1,
		// ваше/ниже значения рейтинга
		'type' => 'top'/'down',
		// или те что отправлены на главную админом, работает только при 'type' => 'top'
		'publish_index'  => 1
	],
	// список типов топиков
	'topic_type' => [
		'topic', 'link', 'question', 'photoset'
	],
	// топики созданные позднее или в это время этой даты
	'topic_new' => 'Y-m-d H:i:s',
	// топики созданные позднее этой даты
	'topic_date_more' => 'Y-m-d H:i:s'
]}
{assign var="iCountTopic" value=COUNTTOPIC}
{assign var="aTopicsByBlog" value=$LS->Topic_GetTopicsByFilter($aFilter, 1, $iCountTopic)}
{include file='topic_list.tpl' aTopics=$aTopicsByBlog['collection']}

Пример вывода постов:

{assign var="aFilter" value=[
	'blog_id' => 2,
	'topic_publish' => 1
]}
{assign var="iCountTopic" value=5}
{assign var="aTopicsByBlog" value=$LS->Topic_GetTopicsByFilter($aFilter, 1, $iCountTopic)}
{include file='topic_list.tpl' aTopics=$aTopicsByBlog['collection']}

8 комментариев

avatar
Попробуйте так, не проверялось
{assign var="aTopicsByBlog" value=$LS->Topic_GetTopicsByBlogId($iBlogId, 1, $iPerPage, null, false)}
{include file='topic_list.tpl' aTopics=$aTopicsByBlog['collection']}

Значения $iBlogId и $iPerPage вставите свои
avatar
Увы, не работает.
avatar
Вставил на главной

{assign var=«aTopicsByBlog» value=$LS->Topic_GetTopicsByBlogId(2, 1, 5, null, false)}
{include file='topic_list.tpl' aTopics=$aTopicsByBlog['collection']}

Отобразились пять топиков из блога с id = 2
Шаблон дефолт
avatar
Большое спасибо, теперь разобралась.
avatar
Только черновики почему-то тоже отображаются среди постов.
avatar
Держите тогда полное извращение :)
ВЫборка топиков по фильтру $aFilter
{assign var="aFilter" value=[
	// список id блогов 
	'blog_id' => [
		1, 2, 3
	],
	// список типов блогов 
	'blog_type' => [
		'personal', 'open'
	],
	// список id пользователей
	'user_id' => [
		1, 2, 3
	],
	// опубликован топик или нет
	'topic_publish' => 1/0,
	// выборка по рейтингу топика
	'topic_rating' => [
		// значение рейтинга
		'value' => 1,
		// ваше/ниже значения рейтинга
		'type' => 'top'/'down',
		// или те что отправлены на главную админом, работает только при 'type' => 'top'
		'publish_index'  => 1
	],
	// список типов топиков
	'topic_type' => [
		'topic', 'link', 'question', 'photoset'
	],
	// топики созданные позднее или в это время этой даты
	'topic_new' => 'Y-m-d H:i:s',
	// топики созданные позднее этой даты
	'topic_date_more' => 'Y-m-d H:i:s'
]}
{assign var="iCountTopic" value=COUNTTOPIC}
{assign var="aTopicsByBlog" value=$LS->Topic_GetTopicsByFilter($aFilter, 1, $iCountTopic)}
{include file='topic_list.tpl' aTopics=$aTopicsByBlog['collection']}

Все пункты фильтра независимы, можете их располагать в любом порядке и в любом сочетании в зависимости от ваших хотелок.
Мой пример в комментариях выше будет выглядеть так
{assign var="aFilter" value=[
	'blog_id' => 2
	'topic_publish' => 1
]}
{assign var="iCountTopic" value=5}
{assign var="aTopicsByBlog" value=$LS->Topic_GetTopicsByFilter($aFilter, 1, $iCountTopic)}
{include file='topic_list.tpl' aTopics=$aTopicsByBlog['collection']}
avatar
Ошибка, забыл запятую
{assign var="aFilter" value=[
	'blog_id' => 2,
	'topic_publish' => 1
]}
avatar
Чрезвычайное спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.