Дао — это действие, процесс, поток. Чем чаще вы смотрите на код других плагинов, тем больше вы понимаете, как делать свой.
Накачайте плагинов под 0.4.2 и расматривайте, что у них внутри. Без этого вы не сможете начать писать свои плагины.
Я сделал типовой шаблон, из которого удобно делать свои собственные плагины. Располагается он тут: http://github.com/medar/livestreetplugin
Чтобы скачать его, надо нажать в правом верхнем углу кнопку «Download Source». Желающие могут форкать и вносить изменения.
В файле находится «рыба» плагина с названием abcplugin.
Читать дальше →
Шаблоны могут иметь свой собственный конфиг и языковые файлы (каталог шаблон/settings/[config|language])
Отказ от использования custom классов, теперь они не поддерживаются
Английская локализация
Фикс багов
Обновление с 0.4
Обновить структуру БД, выполнив SQL из файла /install/convert_0.4_to_0.4.1.sql
Удалить старые файлы и залить новые, либо вручную внести все изменения. Основную часть изменений составляет шаблон «developer», поэтому не пугайтесь большому листингу
Обязательно сбросить кеш. Файловый — удалить содержимое каталога с кешем (кроме файла .htaccess), если стоит memcache, то перезапустить его
Обновление плагинов от 0.4
Плагины требуют адаптации (наименование классов) к версии 0.4.1, более подробно здесь.
Решил не засорять топик с руководством по созданию плагинов, напишу тут, что нашел в процессе тестирования.
Итак, по порядку, что уже было:
1) (fixed) ошибка с определением названия экшена при делегировании: создал тикет
2) предложение об автоподстановке префиксов делегатов ( livestreet.ru/blog/dev_documentation/3710.html#comment59803, пункт 2 )
3) (fixed) отсутствие поддержки делегирования на основе данных из xml-файла (по-видимому, функция просто ещё в разработке)
И теперь ещё кое-какие мысли (пока все в файле /engine/classes/ActionPlugin.class.php).
— Сейчас, при делегировании экшена (например {plugin_dir}/classes/actions/ActionSettings.class.php) происходит автоматическое делегирование соответствующей директории темплейтов, что не очень хорошо, т.к. это совершенно необязательно по логике и придется тупо копировать всю папку actions/ActionSettings в плагин.
Сейчас там проверяется только наличие в плагине папки с соответствующим шаблоном:
в случае без делегирования вернет /actions/ActionSettings/profile.tpl, а надо actions/ActionSettings/profile.tpl, поэтому первый слэш переносим отсюда в getTemplatePathPlugin():
— Дублирование кода в GetTemplate() лучше заменить на
if (is_null($this->sActionTemplate)) {
$this->SetTemplateAction($this->sCurrentEvent);
}
— В дополнение к первому:
Чаще всего нужно изменить не все шаблоны экшена, а только некоторые, зачем же копировать не измененные? Сделаем проверку, есть ли они в делегирующей папке, и, если нет, вернем стандартные:
Есть ли в движке механизм подсчета авторитетности пользователя (аналога кармы на Хабре)?
Если есть, то как он работает? Интересует алгоритм. Можно ли его менять под себя (если он есть) и где он находится (т.е. файл)?
Хотелось бы узнать: кто-ть пробовал динамически менять шаблон для сайта? Например днем один в светлых тонах показывается, а ночью — другой — в темных?
Или менять с каким-то интервалом, например раз в 5 часов. Думал о реализации что-то типа ротатора картинок, но тогда элементы дизайна меняются в разнобой.
Замену файлов кроном прошу не предлагать — это грузит сервер и не везде реализуемо.
Доброго времени суток. Решил тут на своем сайте сделать блок — «Похожие статьи». Посмотрел поиском, но нашел только платный аналог. Поэтому сделал свой блок на основе тегов.
Читать дальше →
Для тех, кто уже начал обживать свои проекты на ЛайвСтрит 0.4 наверняка вылезла проблема отсутствия конфигурационного файла для поисквого бота сфинкс — пожалуйста!
Читать дальше →
Что такое плагины — читайте здесь.
По мотивам этого, выполняю обещание — привожу руководство как подобное сделать в виде плагина. Всех тонкостей в одной заметке не расскажешь, но основное постараюсь изложить.
Примечание. Долго не публиковал этот материал, держал в черновиках — на случай «мало-ли-что-измениться». Но думаю, кардинальных изменений в механизме плагинов в ближайшем релизе уже не будет.