+29.43
Рейтинг
100.36
Сила

Вячеслав Мороз

Мануал по интеграции плагинов с плагином "Role", на примере плагина "Публикация от чужого имени"

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

Первое что нужно сделать для интеграции — это создать чекбоксы для плагина "Публикация от чужого имени" в добавлении и редактировании ролей.
Плагин "Role" имет хуки.

  • template_roles_role — в шаблоне добавления к списку прав роли
  • template_roles_user — в шаблоне добавления к списку прав отдельному пользователю
  • template_roles_role_show_end — в шаблоне редактирования к списку прав роли
  • template_roles_role_user_show_end — в шаблоне редактирования к списку прав отдельному пользователю

Читать дальше →

Система блоков - расставляем точки...

Была потребность разобраться с системой блоков. Очень много чего перечитал с сайта. Например, Система блоков. Ниже будет краткое изложение полученных знаний. Попытаюсь рассказать про систему блоков простым языком, чтобы и новички поняли.

Самое главное, что я выяснил:
1. Блоки можно создавать самостоятельно.
2. Блоки можно размещать в произвольном месте страницы (нужно заранее указать эти места)
3. Блоки могут отображаться в зависимости от Action'ов и Event'ов
4. Блоки могут отображаться в зависимости от адреса страницы. Адрес страницы можно задать с помощью регулярных выражений.
Итак, основные моменты.
Читать дальше →

Переименовать blog в community

Господа, у меня такой вопрос — я переименовал «blog» в «community» сделал все по инструкции, перенаправление и новый адрес в роутере, тепрь беда — он мои личные записи выдает как ресурс/community/10.html как с этим бороться, (в процессе написания добавил правило о сокращенном URL)

Вот что я делал в конфиге
/**
 * Настройки роутинга
 */
$config['router']['rewrite'] = array( 'blog' => 'community');
// Правила реврайта для REQUEST_URI
$config['router']['uri'] = array(
	// короткий вызов топиков из личных блогов
	'~^(\d+)\.html~i' => "blog/\\1.html",
	'~^(\d+)\.html~i' => "community/\\1.html",
);
// Распределение action
  . . . . строки пропущены . . . . 
$config['router']['page']['blog']          = 'ActionBlog';
$config['router']['page']['community']     = 'ActionBlog';


Может кто знает, помогите плз,.

АЛЬЗО! — Если убрать $config['router']['page']['blog'] из конфига перестают работать фишки вступить в блог, выйти из блога, рейтинг блога перестает работать — тупо не срабатывает когда тыкаешь,. Тема Social 2.0.4 (вчера купил — поставил)

UPD — Лучше сделать так

ort предложил гениально, как всегда)
public function getUrl() {
    if ($this->getBlog()->getType()=='personal') {
        //return Router::GetPath('blog').$this->getId().'.html';
        return '/'.$this->getId().'.html';

Выводим в Top блогов количество постов вместо рейтинга.

Возникла задача выводить в блоке Tоп блогов вместо абстрактного рейтинга количество постов. Актуально для новых сайтов или неактивных комьюнити.



Для начала находим Экшен блока. Структура LS подробно описана, поэтому легко находим нужный блок: /classes/blocks/BlockBlogs.class.php В блоке вызывается единственная функция: Blog_GetBlogsRating, с ней и будем работать.

Сначала захотелось по-быстрому исправить эту функцию в коде движка, но после недолгих размышлений захотелось сделать правильно и красиво, потому что работа с Livestreet подталкивает к этому. Поэтому, оформим решение в виде модуля, который может оказаться полезным и другим пользователям.

Читать дальше →

Вопрос по смарти

Сорри за нубский вопрос, но где ж его еще задать, если не здесь? :)

Мне нужно выводить в профиле контент, предназначенный только для автора профиля. То есть если я нахожусь в своем профиле, контент выводится, если в чужом — нет. Как сформулировать условие на смарти?

Заранее благодарен!

Платный шаблон "LightBlue"


Вашему вниманию — шаблон LightBlue для livestreet 0.5.1.
Большое спасибо sebastianprelesniy и AlikMis за неоценимую помощь в создании шаблона!

Шаблон олицетворяет мое видение оформления блого-социального сообщества. Безусловно, на реализацию тех или иных моментов существенное влияние оказали другие, хорошо известные проекты.



Читать дальше →

Показываем, что пост новый



Продолжая тему извращений над возможностями шаблонизатора, хочу предложить вам легкий способ указать на то, что пост новый. То есть, если посту меньше суток, то выводится определенная надпись, например — «Новый пост!». Идея древняя как мир, но раз для других CMS делали такие фичи, то, возможно и здесь кому-то она пригодится.

Все делается элементарно — в файлах topic_link.tpl, topic_photoset.tpl, topic_question.tpl, topic_topic.tpl вашего шаблона после даты добавления поста вставляем следующий код:
{if (time() - strtotime($oTopic->getDateAdd()))<86400}<span style="color:green;">New Post!</span>{/if}


Читать дальше →

Вопросы по /talk/

1. Можно ли вывести в инбоксе текст именно последнего коммента к письму7 Разумеется, не прибегая к плагинам.
{$oTalk->getText()}

Этот код выводит текст самого письма.

2. В инбоксе выводится список адресатов. Можно ли, не прибегая к программированию, разделить автора письма от адресатов?
{foreach from=$oTalk->getTalkUsers() item=oTalkUser name=users}
{if $oTalkUser->getUserId()!=$oUserCurrent->getId()}
{assign var="oUser" value=$oTalkUser->getUser()}
<a href="{$oUser->getUserWebPath()}" class="username {if $oTalkUser->getUserActive()!=$TALK_USER_ACTIVE}inactive{/if}">{$oUser->getLogin()}</a><br />
{/if}
{/foreach}

Вот код, который выводит список участников.

Буду рад любым подсказкам)

Анонс плагина "Files"

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

Плагин добавляет возможность организовать на сайте файловое хранилище, на подобии каталога модулей LS.
скринов не буду делать, все можете посомтреть тут

а теперь подробнее