Giter VIP home page Giter VIP logo

favfeed's Introduction

Если я нахожу интересный топик, то я добавляю его в избранные. Далее очень хотелось бы быть в курсе того, как там развивается обсуждение или чем закончится дело… Но иногда комментарии в таких топиках появляются редко, и ты уже успеваешь про них забывать… Они уходят все дальше и дальше в списке твоего «избранного»…

Представляю плагин FavFeed, позволяющий следить за новыми комментариями в избранных топиках из вашего профиля, а так же добавить ленту таких изменений к блоку «прямой эфир».

Плагин платный, но обойдется он всего в $1,5.

Устанавливаем, как обычно, в папку plugins, активируем через вашсайт.ру/admin/plugins. После этого зайдя по адресу вашсайт.ру/favfeed (или через свой профиль) можно увидеть есть ли топики в избранном с новыми комментариями. Рядом с названием пункта меню в скобочках отображается количество топиков с непрочитанными комментариями.

В связи с тем, что блок «прямой эфир» плохо приспособлен для расширяемости, ряд действий придется сделать руками. Но они простые и их всего 3.

Поясню на примере шаблона «new».

Первое. 
Заходим в корневую папку шаблона. В подкаталоге js находим файл block_loader.js и изменяем его:
Строчки

type: {
                comment_stream: {
                        url: DIR_WEB_ROOT+'/include/ajax/stream_comment.php'
                },
Меняем на

type: {
                favfeed_stream: {
                        url: '/favfeed/ajax/ '
                },
                comment_stream: {
                        url: DIR_WEB_ROOT+'/include/ajax/stream_comment.php'
                },
Второе. 
В корневой папке шаблона находим файл block.stream_topic.tpl и копируем его с названием block.stream_favfeed.tpl. Это делается для того, чтобы вы могли поменять вид ленты на свой вкус. Лента будет выглядеть так же, как и лента последних топиков. Находим там текст

<div class="right"><a href="{router page='favfeed'}">{$aLang.block_stream_topics_all}</a> | <a href="{router page='rss'}new/">RSS</a></div>

И меняем на

<div class="right"><a href="{router page='favfeed'}">{$aLang.favfeed_stream_all}</a></div>


Третье. 
Изменяем файл block.stream.tpl. Находим место

<ul class="block-nav">
Там находим строчку, где выводится лента комментариев:

<li class="active"><a href="#" id="block_stream_comment" onclick="lsBlockStream.toggle(this,'comment_stream'); return false;">{$aLang.block_stream_comments}Б/a><em></em></li>
Копируем ее и изменяем так, чтобы получилось:

Копируем ее и изменяем так, чтобы получилось:
<li class="active"><a href="#" id="block_stream_comment" onclick="lsBlockStream.toggle(this,'comment_stream'); return false;">{$aLang.block_stream_comments}</a>{if $oUserCurrent}</li>
<li><a href="#" id="block_stream_favfeed" onclick="lsBlockStream.toggle(this,'favfeed_stream'); return false;">{$aLang.favfeed_stream_title}</a><em></em></li>{else}<em></em></li>{/if}

Некоторые могут спросить – почему я не использовал хук block_stream_nav_item для того, чтобы добавить ленту в блок «прямой эфир»? Ответ простой – даже шаблон «new» обработал бы это криво, по причине того, что он использует теги &lt;strong&gt; и &lt;em&gt; чтобы нарисовать скругляющиеся боковинки к лентам. Как это было бы в другом шаблоне – не известно. Поэтому я решил лучше объяснить, как это сделать «руками», чтобы люди представляли, как адаптировать их шаблон. К тому же этот кусочек убирает таб "В избранном" для незалогиненого пользователя.


Теперь о SVN версии LiveStreet. Для того, чтобы лента активности работала на SVN версии, надо в файле плагина /classes/actions/ActionMain.class.php найти строчку 

$this->Viewer_SetResponseAjax();
И поменять ее на

$this->Viewer_SetResponseAjax('json');
К сожалению, я не нашел как определить какая ревизия движка используется, поэтому вот такое изменение руками. 

Так, же по аналогии с 0.4.2 меняем файл block_loader.js:

favfeed_stream: {
                        url: '/favfeed/ajax/'
                },
                comment_stream: {
                        url: aRouter['ajax']+'stream/comment/'
                },

Вот, собственно, и все.

По поводу лицензирования смотрите файл License.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.