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

Выносим обработку евентов в отдельный файл

В транковой версии на github.com появилась возможность выносить объемную обработку евентов из экшена в отдельные файлы.

Эти файлы размещаются в каталоге /classes/actions/[action]/Event[Name].class.php, где [action] — это название экшена, которому принадлежит евент, [Name] — название внешнего обработчика евента.

Рассмотрим более подробно.
Пусть у нас будет экшен ActionBlog.class.php:
<?php

class ActionBlog extends Action {

	public $oUserCurrent=null;

	public function Init() {
		$this->oUserCurrent=$this->User_GetUserCurrent();

		$this->SetDefaultEvent('index');
	}

	/**
	 * Регистрируем евенты
	 *
	 */
	protected function RegisterEvent() {
		/**
		 * Регистрируем внешние обработчики евентов
		 */
		$this->RegisterEventExternal('Topic','ActionBlog_EventTopic');

		$this->AddEvent('index','EventIndex');
		$this->AddEventPreg('/^topic$/i','/^(\d+)\.html$/i','/^$/i','Topic::EventShowTopic');
		$this->AddEventPreg('/^topic$/i','/^list$/i','/^$/i','Topic::EventList');
	}


	protected function EventIndex() {
		/**
		 * Устанавливаем шаблон для вывода
		 */
		$this->SetTemplateAction('index');
	}
}
?>

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

Плавающая шапка шаблона

Приветствую. Помню была на Лайвстрите тема про плавающую шапку ( плавающий header.tpl ). Искал, искал и ничего не нашел. Может кто кинет ссылку или подскажет как сделать это?

Буду очень признателен!

Как сделать видимым количество голосов (рейтинг новости)?

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

Итак нужно сделать видимым (для всех) количество голосов\рейтинг новости.



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

Как запретить вывод черновиков в плагине?

Товарищи программисты, подскажите, пожалуйста, как можно запретить вывод черновиков в плагине.

Имеется мой плагин "Слайдер" в нем обнаружен баг — если топик попадающий под условие вывода в слайдер находится в черновиках, он выводится для всех пользователей.

Вывод топиков делаю следующим образом:

$aTopicId=$this->Topic_GetTopicsByBlogId(Config::Get('plugin.slider.slider_blog_id'), 1,Config::Get('plugin.slider.slider_topic_count'));

$aTopicsSlider = $this->Topic_GetTopicsAdditionalData($aTopicId);


Заранее спасибо!

LiveStreet ScreenCast #1 - Введение

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

Это так сказать первый блин комом, строго не судите :) Принимаем вопросы и пожелания как по текущему скринкасты так и на следующие выпуски. Просмотр рекомендуется в HD качестве.