Новое в LiveStreet 1.0 для разработчиков
Для разработчиков плагинов и шаблонов в LiveStreet 1.0 есть некоторые изменения.
Постараюсь их все собрать в одном месте.
Изменений, на самом деле, не так много.
Список:
Если есть вопросы, то отвечу более подробно.
Постараюсь их все собрать в одном месте.
Изменений, на самом деле, не так много.
Список:
- Модуль GEO, теперь в своих плагинах с помощью него можно делать географические привязки различных объектов
- Модуль Subscribe, организация подписок пользователей на различные события и рассылка по ним. Например, через него реализован механизм подписки на комментарии к топикам
- js вынесены за пределы шаблона в библиотеки, теперь в шаблонах достаточно только переопределить необходимый функционал
- Механизм валидации данных, подробнее — livestreet.ru/blog/dev_documentation/10221.html
- Возможность в тулбар добавлять свои элементы через стандартных механизм блоков
- Консоль для автоматической генерации каркаса плагина
- Переопределять настройки редактора стало проще, теперь они находятся в ls.settings
- Класс Object переименован в LsObject, позволит избежать проблем с некоторыми IDE и подключить автоподстановку методов
- Доработан модуль Image, теперь для сохранения изображения на другой сервер, достаточно переопределить методы SaveFile() и RemoveFile()
- Каптча вынесена в блочный хук {hookb run=«popup_registration_captcha»}, что позволит ее переопределить
- Возможность делать всплывающие подсказки через poshytip или infobox.js (с погрузкой данных через ajax)
- Появился модуль Tools, сейчас в нем только один метод — формирование облака тегов
- Шаблоны блоков перенесены в отдельный каталог /blocks/
- При ручном определении сеттеров в сущностях теперь следует возвращать данные как return $this->_getDataOne('blog_id'); — это позволит избежать проблемы с Notice ошибками
- Прямой эфир теперь автоматически группирует вкладки, если их много, в выпадающий список
- Смена приоритетов при загрузке блоков — теперь блоки из конфига загружаются после блоков, объявленных в коде экшенов, соответственно блоки из конфига имеют более высокий приоритет. Это позволит применять правила к блокам после окончательного определения экшена/евента, которые можно переопределить в ходе выполнения логики экшена/хуков.
- Возможность делать именованные евенты и управлять блоками из конфига о их именам. Например для евента на основе регулярно выражения можно задать имя и его использовать в правилах блоков. Если имя не задать, то оно автоматически определится как имя метода евента.
- Теперь все текстовки плагинов помещаются в пространство 'plugin.name', например, Get_Lang('plugin.page.admin_title');
Если есть вопросы, то отвечу более подробно.