сайт/admin/stickytopics – Админка.
Зайти могут не только администраторы всего сайта, но и пользователи, являющиеся администраторами в каких-либо блогах. А так же и обычные пользователи — администраторы своих персональных блогов.
Можно запретить админам блогов использовать настройку прикрепления, отредактировав файл config/config.php и установив параметр allow_blog_admins в значение false. Для запрета обычным пользователям прикреплять записи в их персональных блогах, следует установить параметр allow_personal_blogs в false.
В двигле.
Прикрепленные топики
на главной странице сайта.
Открываем файл из каталога шаблона actions/ActionIndex/index.tpl
Перед строчкой
{include file='topic_list.tpl'}
Вставить строчку
{hook run='get_sticky_topics' aTopics=$aTopics}
Чтобы убрать прикрепленные топики
со страниц после первой, следует использовать такой вызов хука:
{hook run='get_sticky_topics' aTopics=$aTopics aPaging=$aPaging}
Еще может быть случай, когда прикрепленные топики требуется вывести как-то по-другому, нежели стандартной лентой. Может быть просто названия. Тогда к вызову хука надо добавить параметр outName, который задает имя массива, в который будут помещаться прикрепленные записи.
{hook run='get_sticky_topics' aTopics=$aTopics aPaging=$aPaging outName=aSticky}
{if $aSticky}
{foreach from=$aSticky item=oTopic}
{$oTopic->getTitle()|escape:html}
{/foreach}
{/if}
Тогда в результате работы хука в массиве шаблона aSticky окажутся прикрепленные топики, а массив aTopics останется неизменным. Если, все же, из массива aTopics требуется убрать прикрепленные топики, то хуку надо задать параметр removeSticky
{hook run=’get_sticky_topics’ aTopics=$aTopics aPaging=$aPaging outName=aSticky removeSticky=true}
Прикрепленные топики на странице
конкретного блога.
Для того, чтобы вывести прикрепленные топики для каждого блога надо редактировать файл шаблона
action/ActionBlog/blog.tpl
Единственное, чем отличается использование хука в конкретных блогах это, собственно, указание из какого, конкретно, блога брать записи. Делается это с помощью параметра
blog_id:
{hook run='get_sticky_topics' aTopics=$aTopics blog_id=$oBlog->getId()}
Такой вызов хука в шаблоне блога прикрепит топики для текущего блога.
Все случаи, описанные для главной страницы сайта применимы и для конкретного блога, при добавлении параметра blog_id
Прикрепленные топики в
персональном блоге пользователя
Тут надо менять шаблон action/ActionMy/blog.tpl
Для вывода прикрепленных топиков к персональному блогу требуется задать параметр blog_id равным -1 и указать дополнительный параметр oUser в который передать объект профиля пользователя. Для экшена ActionMy это объект oUserProfile
{hook run='get_sticky_topics' aTopics=$aTopics blog_id=-1 oUser=$oUserProfile}
Плагин:
2me.be/z/stickytopics-1.0.6.zip