0.00
Рейтинг
0.00
Сила

zgood

  • avatar zgood
  • 0
Установил по инструкции на LS 0.5
Работает правда потупил немного прежде чем заработало.

Для тех кто плохо знает LS (т.е. таких как я) ) Очень подробно:
П.1
определяем стиль отображения блока
В /plugins/similar/templates/skin/ваш_шаблон/block.similarTopics.tpl (если такого файла нет, то создайте его) заменить код на:
{if $aSimilarTopics|@count}
                        <div class="block stream" style="padding-left:40px;padding-bottom:15px;">
                                                <span style="font-weight:bold;color:#66b746;">
{$aLang.block_similar_articles_title}</span>
                                        <div class="block-content">
                                        <ul class="stream-content">
                                                {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="stream-author">{$oUser->getLogin()}</a> →
                                                                <a href="{$oTopic->getUrl()}" class="stream-topic">{$oTopic->getTitle()|escape:'html'}</a>
                                                                <span> ({$oTopic->getCountComment()})</span> РІ <a href="{$oBlog->getUrlFull()}" class="stream-blog">{$oBlog->getTitle()|escape:'html'}</a>
                                                        </li>
                                                {/foreach}
                                        </ul>
                        
                        </div>
 </div>
                        {/if}


П.2
Прописываем Hook
Заменить содержимое /plugins/similar/classes/hooks/HookSimilar.class.php на:
<?php
/**
 * Хук для плагина Similar
 */
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(
                                'left',
                                'similarTopics',
                                array('plugin' => 'similar', 'oTopic' => $aVars['oTopic']),
                                Config::Get('plugin.similar.topics_block_priority')
                        );
                }
        }
}


П.3
Определяем местоположение блока в шаблоне
В /templates/skin/ваш-шаблон/topic.tpl в нужное место, а в шаблоне default после:
{hook run='topic_show_end' topic=$oTopic}
</div>

Заменить на:
Код отличается от кода автора, отсутствием некоторых кавычек (с ними у меня не работало отображение похожих записей)
<div>
        {if isset($aBlocks.left)}
                        {foreach from=$aBlocks.left item=oBlock}
                                {if $oBlock.type == 'block'}
                                        {insert name="block" block=$oBlock.name params=$oBlock.params}
                                {/if}
                                {if $oBlock.type == 'template'}
                                        {include file=$oBlock.name params=$oBlock.params}
                                {/if}
                        {/foreach}
                {/if}

</div>
подправил «Related topics» под шаблон «Street Spirit». Как теперь стало видно тут.
Если кому нужно, код plugins/similar/templates/skin/default/block.similarTopics.tpl
{if $aSimilarTopics|@count}
    <div class="block stream">

        <div class="tl"><div class="tr"></div></div>
        <div class="cl"><div class="cr">
		<div class="block-header-conteiner"><h2><span>{$aLang.block_similar_articles_title}</span></h2></div>
                
                <div class="block-content">
                    <ul class="list">
                        {foreach from=$aSimilarTopics item=oTopic name="cmt"}
                            {assign var="oBlog" value=$oTopic->getBlog()}
                            {assign var="oUser" value=$oTopic->getUser()}

                            <li class="even">
				<div class="overflow">
                                <a href="{$oTopic->getUrl()}" class="topic-title">{$oTopic->getTitle()|escape:'html'}</a>
                                <a href="{$oBlog->getUrlFull()}" class="blog-title">{$oBlog->getTitle()|escape:'html'}</a>
        			</div>
                            </li>
                        {/foreach}
                    </ul>
                </div>
            </div></div>
        <div class="bl"><div class="br"></div></div>
    </div>
{/if}
1. Создаем группу
2. Получаем ее id который надо вписать в настройки плагина «vkfeed/config/config.php»
Например ID группы club777777777, в настройки же пишем
$config['wall'] = '-777777777';
и если нужно постить после добавления топика то меняем и эту опцию
$config['type'] = 'add';
3. Регистрируем приложение Вконтакте
vkontakte.ru/apps.php?act=add&site=1
тип: Standalone
4. Находим на странице приложения *ID приложения* и *Защищенный ключ* и записываем их в настройки плагина
$config['appId'] = '555555'; // Application ID
$config['appSecret'] = 'QUERTY'; // Security key
Также заполняем поля на странице приложения:
Адрес сайта: sitename.net
Домен: sitename.net
4. Разрешаем доступ приложению, подставив в параметр *client_id* ID приложения
api.vkontakte.ru/oauth/authorize?client_id=555555&scope=offline,wall
+После этого должна открыться форма с подтверждением, где должно быть указано что у нас будет доступ к стене группы+
после подтверждения получаем на открывшейся странице код:
 code=7a760917cedb7380cd

5. Отрываем ссылку:
api.vkontakte.ru/oauth/access_token?client_id=555555&client_secret=QUERTY&code=7a760917cedb7380cd
Где подставляем наши значения:
*ID приложения*, *Защищенный ключ* и полученный код (4)

После перехода по этой ссылке вам предложат сохранить JSON файл. В нем есть token, который надо будет скопировать и сохранить в файл */tmp/vkfeed_token.txt*

6. Все, после этого пробуем написать пост и проверяем стену группы.
Нашел решение как вставить ролик с тегом iframe. У меня для пользователей включен TinyMCE для написания текста топиков.
1) Поставил плагин livestreetcms.com/addons/view/104/
2) В файле из своей темы actions/ActionTopic/add.tpl заменить строку
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height]",
на
extended_valid_elements : "embed[src|type|allowscriptaccess|allowfullscreen|width|height],iframe[name|src|framespacing|border|frameborder|scrolling|title|height|width]",


хотя вставка роликов через iframe мне не нравится, так как позволяет злодею получить доступ авторизационным данным пользователя и т.п. гадости.