Плагин «похожие записи» отображаются в блоке, а нужно что бы в конце каждого топика.
Данная проблема обсуждалась:
livestreet.ru/blog/addons/12611.html#comment192893
Посоветовали создать хук.
Я создал место для этого плагина в шаблон/topic_topic.tpl
Вот код всего файла topic_topic.tpl:
{include file='topic_part_header.tpl'}
<div class="topic-content text" OnCopy="ls.msg.error(null,'{$aLang.cp_reverse_link_notify}'); return true;">
{hook run='topic_content_begin' topic=$oTopic bTopicList=$bTopicList}
{if $bTopicList}
{$oTopic->getTextShort()}
{if $oTopic->getTextShort()!=$oTopic->getText()}
<a href="{$oTopic->getUrl()}#cut" title="{$aLang.topic_read_more}">
{if $oTopic->getCutText()}
{$oTopic->getCutText()}
{else}
{$aLang.topic_read_more} →
{/if}
</a>
{/if}
{else}
{$oTopic->getText()}
{/if}
{hook run='topic_content_end' topic=$oTopic bTopicList=$bTopicList}
<!-- Похожие записи -->
<div class="block stream">
<div class="tl"><div class="tr"></div></div>
<div class="cl">
<div class="cr">
{if $aSimilarTopics}
<section class="block block-type-stream">
<header class="block-header">
<h3>{$aLang.plugin.similar.block_similar_articles_title}</h3>
</header>
<div class="block-content">
<div class="block-content">
<ul class="latest-list">
{foreach from=$aSimilarTopics item=oTopic name="cmt"}
{assign var="oBlog" value=$oTopic->getBlog()}
{assign var="oUser" value=$oTopic->getUser()}
<li {if $smarty.foreach.cmt.iteration % 2 == 1}class="even"{/if}>
<a href="{$oUser->getUserWebPath()}" class="user">{$oUser->getLogin()}</a> →
<a href="{$oTopic->getUrl()}" class="topic-title">{$oTopic->getTitle()|escape:'html'}</a>
<span> {$oTopic->getCountComment()}</span> → <a href="{$oBlog->getUrlFull()}" class="blog-title">{$oBlog->getTitle()|escape:'html'}</a>
</li>
{/foreach}
</ul>
</div>
</div>
</section>
{/if}
</div>
</div>
<div class="bl"><div class="br"></div></div>
</div>
<!-- Конец похожие записи -->
</div>
{include file='topic_part_footer.tpl'}
Вот как я понимаю файл плагина, который отвечает за хуки, может в нём что нето:
class PluginSimilar_HookSimilar extends Hook
{
/**
* Регистрируем хук на topic_show
*
* @return void
*/
public function RegisterHook() {
$this->AddHook("topic_show", "topicShowed", __CLASS__);
}
/**
* Получаем список похожих топиков, передаем их в Viewer и добавляем нужный блок в сайдбар
*
* @param array $aVars
*/
function topicShowed($aVars) {
if (isset($aVars['oTopic'])) {
$this->Viewer_AddBlock('right', 'similarTopics', array('plugin' => 'similar', 'oTopic' => $aVars['oTopic']
), Config::Get('plugin.similar.topics_block_priority')
);
}
}
}
Как организовать вывод похожих записей, в блоке всё отображается как надо.
Где и какой кух нужно прописывать.
UPD: Вижу предложений никаких. Для потомков опишу свой способ данной реализации. Создал ещё одну позицию для сайдбара, и прописал её в настройках отображения блока.