Рейтинг
+1.33
Трюки с LiveStreet

Трюки с LiveStreet

Подробнее ↓

Как сохранить оригинальное имя файла изображения при его загрузке в топик?

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

Как сохранить оригинальное имя файла изображения при его загрузке в топик? →

Возможность использовать короткие теги в плагинах для Smarty

Трюки с LiveStreet
Данная заметка написана больше «для себя» и касается разрабатываемой версии лс, а не текущей выпущенной на момент написания статьи (1.0.3).

Возможность использовать короткие теги в плагинах для Smarty →

Установка дополнительных параметров для фильтра при вызове связи сущности ORM

Трюки с LiveStreet
Как известно в ORM LiveStreet CMS есть возможность указывать связи для сущности:

Установка дополнительных параметров для фильтра при вызове связи сущности ORM →

Как изменить главную страницу сайта?

Трюки с LiveStreet
Видимо читать движка — задача не из легких, поэтому иногда я наблюдаю вопросы о том, как сменить главную страницу движка.

Все до банальности просто:

Как изменить главную страницу сайта? →

Яндекс не индексирует топики из-под админа при включенном NiceURL

Трюки с LiveStreet
Интересная ситуация-совпадение: при включенном плагине NiceURL и его штатных настройках, топики, опубликованные в персональном блоге под пользователем admin могут не индексироваться, если вы используете файл (или плагин-эмулятор) robots.txt, в котором есть строка подобная этой:

Яндекс не индексирует топики из-под админа при включенном NiceURL →

Другое фоновое изображение для незарегистрированных пользователей

Трюки с LiveStreet
Сегодня пользователь задавал вопрос как сделать фон для страницы блогов.

Хочу сделать заметку что ЛС добавляет к тегу body класс в зависимости от роли пользователя на сайте. Для тега body движком могут быть заданы следующие типы классов: ls-user-role-user, ls-user-role-admin, ls-user-role-guest, ls-user-role-not-admin, смысл которых понятен из их названия.

Другое фоновое изображение для незарегистрированных пользователей →

Файловый кеш - хорошо это или плохо?

Трюки с LiveStreet
Периодически можно встретить жаркие споры, увеличивает ли движка файловый кеш в ЛС:


$config['sys']['cache']['use']    = true;               // использовать кеширование или нет
$config['sys']['cache']['type']   = 'file';             // тип кеширования: file и memory. memory использует мемкеш


Файловый кеш - хорошо это или плохо? →

Системные модули, которые наследовать нельзя

Трюки с LiveStreet
Чтобы не быть многословным — в ЛС (как минимум текущей версии 1.0.1 и всех более ранних) нельзя наследовать / делегировать два системных модуля ядра: модуль плагина (Plugin) и модуль Хука (Hook). Все попытки наследовать данные модули ровным счетом ни к чему не приведут — они просто будут проигнорированы. В коде движка жестко зашито исключения на эти два модуля.

Системные модули, которые наследовать нельзя →

Написание родительского класса при наследовании

Трюки с LiveStreet
Когда в главном классе плагина вы указываете определенного модуля вы пишете:

  protected $aInherits = array (
    'module' => array ('ModuleName')
  );

в модуле, который наследует родительский класс последний пишется таким образом:

class PluginTest_ModuleName extends PluginTest_Inherit_ModuleName {/*...*/}


Написание родительского класса при наследовании →

Передача параметров по ссылке между модулями в LiveStreet

Трюки с LiveStreet
Довольно полезно будет знать начинающим (и не только) программистам по движку ЛивСтрит, что ЛС не поддерживает передачу скалярных параметров по ссылке между модулями. В пределах одного модуля (когда идет вызов метода в этом же классе) передача возможна. Но передать скалярную величину назад из модуля, например, в екшен не представляется возможным. Поэтому если у вас возникла такая необходимость, следует просто возвращать массив параметров из метода или сущность и не использовать передачу параметров по ссылке вовсе.

Передача параметров по ссылке между модулями в LiveStreet →

Наследование в плагине

Трюки с LiveStreet
Как известно, для наследования у плагинов в главном классе (Plugin) есть переменная aInherits, которая содержит ассоциативные массивы module, mapper, action, entity, template, block, которые, в свою очередь, указывают на ассоциативный массив, который объясняет движку что и как наследовать. Но мало кому известно что не важно как назвать тип модуля который мы наследуем, главное чтобы он был из этого списка. А движок потом сам разберется с ним, если все другие параметры указаны верно. Т.е. если вы обычно пишете для наследования екшена, который отвечает за аякс загрузку данных такой код:

  protected $aInherits = array (
    'action' => array (
      'ActionAjax'  // укороченная запись, если кто не в курсе
    )
  );


Что же там такое-то, а?