+0.29
Рейтинг
1.87
Сила

Merlin

Система блоков

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


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

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

В 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];
	}
}
?>

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

Использование плагинов в v.0.4

Безболезненное расширение функционала — достаточно проблематичный вопрос (под «безболезненностью» я понимаю весь спектр удобства для пользователей движка).

Я думаю, вы еще не забыли, что для добавления новых возможностей в версиях до 0.3.1 включительно используются Хаки и Модули. При этом установка любого стороннего творения дело достаточно хитрое и небезопасное, часто требующее ориентирования в архитектуре и особенностях движка. Для преодоления этих проблем в ядро v.0.4 была введена система плагинов:


К чему мы стремились создавая систему плагинов?

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


Для тех, кого заинтересовали подробности

Относительные ссылки к файлам и картинкам

ВОПРОС:
Уважаемое сообщество! Во-первых, хочу сказать спасибо за этот прекрасный движок, а во-вторых, прошу помощи в вопросе.
Мой блог стоит в локалке и доступен из трех разных локальных сетей, поэтому нужно, чтобы ссылки к файлам были относительными.

РЕШЕНИЕ:
1. При вставке изображения (во время написания поста) генерируется ссылка вида:
<img src="http://livestreet.ru/uploads/images/8/a/a/a/1184/79a061f3fc.png" >

Заменяем ее на:
<img src="/uploads/images/8/a/a/a/1184/79a061f3fc.png" >


2. Для того, чтобы при загрузке изображения сразу подставляло относительный адрес, нужно:
а) открыть файл include/ajax/uploadImg.php
б) найти строку (примерно №72)
$sText='<img src="'.DIR_WEB_ROOT.$sFile.'" ';

и заменить на
$sText='<img src="'.$sFile.'" ';

Если у вас движок находится в папке, например, blogs, пишем:
$sText='<img src="/blogs/'.$sFile.'" ';