+1.08
Рейтинг
1.97
Сила

Юра

Можно по подробнее, если не секрет.
Usertop это отдельный блок. Данные собираются из плагина simpletpl /classes/blocks/BlockSimpleTopicsTop.class.php. Шаблон block.simpleUsersTop.tpl. Встраивается в шапку header_top.tpl
{insert name="block" block=simpleUsersTop}


п.с. по работе с блоками советую посмотреть livestreet.ru/blog/dev_documentation/13379.html
Автор плагина был уведомлен в ПМ о данном дополнении. Ждем ответа.
Простите, посмотрев код, я заметил что нет такого функционала через который могли бы прочитать каждое мнение отдельно. По этому, думаю надо добавить один из функционалов (или оба):
1. Аякс (при клике на сообщение, отправляем запрос на сервер и снимаем выделение)
2. Добавить чекбоксы и кнопочку «Отметить как прочитаное»

п.с. готов реализовать функционал если научите пользоватmся гитхабом
вам нужны добавить еще 3 поля: date_last, comment_count_new, comment_id_last. (но я бы сделал отдельную таблицу)
в date_last пишем последнюю дату прочтения сообщения (при каждом чтении идет update даты и времени)
в comment_count_new добавляется +1 пользователю который получает новое сообщение
в comment_id_last последний добавленный комментарии

из всего этого не смотря на существующие аналоги делаем выводы:
при добавлении нового комментария в таблице заполняются 3 поля date_last, comment_count_new, comment_id_last (в случае если создали все в 1 таблице). Устанавлеваем текущее время для date_last, comment_count_new = 1, comment_id_last = 0. Пользователь с user_id получает новое сообщение. Для выделения сообщения проверям последнюю дату прочтения или comment_count_new (дату прочтения проверяем в том случае если есть возможность отвечать на комментарий). После чего пользователь user_id открывает сообщение, в базе происходит update (comment_count_new =0, для данного пользователя и изменяется дата).

Как-то так.
Библиотеки должны быть подключены 1 раз на странице. Остальное сколько угодно, но не забываем пользоватся файербагом если что-то не так будет работать.
В footer.tpl добавляешь блок с счетчиками и делаешь его невидимым. Далее используешь jQuery jquery-docs.ru/effects/toggle/ для отображения или скрытия блока (на сайте есть пример).
вроде да, код жс закинь после
{hook run='comment_tree_end' iTargetId=$iTargetId sTargetType=$sTargetType}
jsfiddle.net/SimonSmith/gP25U/1/
с ипользованием jQuery как вариант
есть идея сделать погрузку блоков как на synio flow, но там, при загрузке страницы блоки «прямой эфир» и «тэги» уже загружены и спрятаны в невидимом div'e. Что бы разгрузить страницу, думаю построить блоки аякс запросом. При отправке запроса на экшен плагина, происходит $this->Viewer_AddBlock() который вставляет блок в скрытый div (на странице index, где содержится {include file=«blocks.tpl» group=«extra_block»}), после чего отображаем js'ом.
супер, спасибо. А через аякс, при обрашении к экшену плагина, можно ли активировать блок (использую $this->Viewer_AddBlock(), stream)?
Немного не то. Пытаюсь вызвать стандартный блок «stream» из конфига плагина. А параметр «plugin» как я понял, используется для вывода блока плагина. На все вопросы отвечает плагин aceBlockManager вот только хочется не использовать его.
Вопрос по блокам:
из конфига плагина, каким образом можно вставить блок?
Если у нас есть
{include file="blocks.tpl" group="extra_block"}

то при вставке в конфиг плагина
$config['block']['rule_stream_wookmark'] = array(
	'action'  => array( 'index' ),
	'blocks'  => array( 'extra_block' => array('stream') ),
);

блок не отображается.
Во флоу версии последний топик с iPad мини не до конца «обрезал» изображения, рука доходит до даты… :)
Дизайн сойдет, если его отверстать и закинуть в паблик то найдутся и те кто буут его использать.
Если указать несуществующий — то вылазит ошибка Fatal error: Call to a member function getBlog() on a non-object in /...../multiblog.ru/templates/compiled/synio/37047c2129f69223dd8bf063b8bfea28b1ca921a.file.topic_part_header.tpl.php on line 33
в хукфаиле найди
public function ShowFixedTopic() {
        $oTopic = $this->Topic_GetTopicById(Config::Get('plugin.fixedtopic.fixed_topic_id'));
        $this->Viewer_Assign('oTopic', $oTopic);
        return $this->Viewer_Fetch(Plugin::GetTemplatePath(__CLASS__) . 'fixed_topic.tpl');
    }


замени на
public function ShowFixedTopic() {
        if($oTopic = $this->Topic_GetTopicById(Config::Get('plugin.fixedtopic.fixed_topic_id'))){
           $this->Viewer_Assign('oTopic', $oTopic);
           return $this->Viewer_Fetch(Plugin::GetTemplatePath(__CLASS__) . 'fixed_topic.tpl');
        }
    }
не, дя этого в хуке плагинам вам надо заменить 28 ряд
$oTopic = $this->Topic_GetTopicById(Config::Get('plugin.fixedtopic.fixed_topic_id'));

на
$oTopic = $this->Topic_GetTopicsByArrayId(Config::Get('plugin.fixedtopic.fixed_topic_id'));


и в конфиге
'fixed_topic_id' => array(16,18,10,20),
И я готов скинуть если будет на node.js.
спасибо, понял.
/www/config/config.php

$config['router']['page']['people']        = 'ActionPeople';

/www/classes/actions/ActionPeople.class.php