Переопределение методов модулей с помощью ...Hook'ов!

28
В LiveStreet 0.4 появилась возможность переопределять не только целиком модули, но и отдельные методы. Это позволить разным плагинам бесконфликтно переопределять разные методы одного модуля.

Принцип действия этого механизма основан на Hook'ах:
  1. Вызов каждого метода сопровождается выполнением хуков — module_ModuleName_MethodName_before и module_ModuleName_MethodName_after, соответственно ДО и ПОСЛЕ вызова метода модуля. В первом случаи в хук передаются параметры вызова метода, во втором передается результат выполнения метода модуля.
  2. На module_ModuleName_MethodName_before можно повесить специальный хук — delegate, результат выполнения которого и будет «результатом» выполнения метода модуля

Пример:
<?php 
class HookTest extends Hook {
	public function RegisterHook() {
		$this->AddDelegateHook('module_text_parser_before','testHook',__CLASS__,-3);
	}

	public function testHook($aVars) {
		return 'Topic text > '.$aVars[0];
	}
}
?>


Читать дальше
  • +10
  • 26 марта 2010, 17:46
  • ort

sphinx.conf под LiveStreet 0.4

32
Для тех, кто уже начал обживать свои проекты на ЛайвСтрит 0.4 наверняка вылезла проблема отсутствия конфигурационного файла для поисквого бота сфинкс — пожалуйста!

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

Небольшой модуль для QR-кодов

16
Привет, что такое QR-коды и для чего они могут быть использованы отлично написано у вики, сегодня наклепал маленький модуль для работы с ними в движке лс, если кому то окажется полезно и интересно — пишите, будем расширять, дорабатывать.

Читать дальше
  • +4
  • 07 августа 2009, 20:50
  • Angel

Настройка веб-сервера VPS/VDS для Debian/Ubuntu

79
Решил написать данную статью для того, чтобы собрать всю информацию по данному поводу в одном месте.
У многих возникает вопросы по оптимизации сервера. Расскажу как я добился скорости загрузки страницы за 0.013 секунд.
Итак. У нас есть чистый Debian либо Ubuntu.

Нам предстоит установить и настроить:
— Apache 2
— PHP 5
— MySQL 5
— nginx
— memcached
— eAcellerator
— Sphinx

Буду писать для Ubuntu Server 9.04, впринципе для дебиана почти всё так же.
Расчитываем на то, что сеть у нас уже настроена.

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

Использование поддоменов в LiveStreet

62
У многих возникает необходимость использовать поддомены для своих проектов на базе LiveStreet, например вынести на поддомены блоги.
Сделать это можно разными путями, например через реврайты в .htaccess, либо через роутер движка.
Я покажу как это можно сделать на примере последнего варианта, т.е. через роутер.


Читать дальше
  • +31
  • 16 марта 2009, 12:43
  • ort

Персонализировать персональные блоги

7
В данный момент записи персональных блогов доступны по ссылкам вида:
www.имя_сайта.ru/blog/номер_записи.html

ИМХО это сильно неправильно, ибо именно персонализация — это создание отдельного блога для пользователя, например, для каждой записи в персональном блоге нужна ссылка:
www.имя_сайта.ru/blog/имя_пользователя/номер_записи.html

В данный момент записи пользователя доступны списком по имя_сайта/my/имя_пользователя/

Мне кажется, что
1) Яндекс в блогах склеивает сайт в один большой блог из-за этого
2) Блог пользователя — часть сайта, а не автономная его часть
3) Из первых двух причин следует невозможность размещения счетчиков Яндекса и любых других для пользователей

Хотелось бы выделить персональные блоги, сделать более четкими их границы.
  • +15
  • 15 февраля 2009, 16:50
  • jurius