Бесплатный плагин для мультиязычности "L10n"
19
Это продолжение темы "Плагин для мультиязычности".
Описание возможностей плагина:
После релиза первой версии плагина прошло больше 6ти месяцев. За это время частично моими силами, а частично силами веб-студии stfalcon.com был реализован следующий функционал:- Cовместимость с LS v0.4.2;
- Возможность выбора языка интерфейса при регистрации пользователя и его последующая смена в настройках пользователя;
- При публикации записи указывается её язык;
- При создании и редактировании блога можно задавать название блога, его описание и url на разных языках;
- Возможность создавать и просматривать переводы для записей;
- Отдельные языковые версии сайта для каждого языка (напр. cookorama.net/ru или cookorama.net/uk). При просмотре отдельной языковой версии сайта выводятся записи только на языке этой версии (аналогично в топе, блоке последней активности, облаке тегов и т.д.). Основная версия сайта остается без изменений (публикуются только топики-оригиналы);
- Чуть не забыл :). Если пользователь зашел на основной сайт (без указания языка в URL), тогда язык пользователя определяется по базе GeoIP Lite (пока для Украины и России, этот момент нужно ещё рефакторить);
- Плагин совместим с плагином Sitemap v0.2.1. Сайтмапы для разных языковых версий лежат в сабдиректориях (напр. cookorama.net/ru/sitemap.xml и cookorama.net/uk/sitemap.xml)
Но не обошлось без хака роутера (для установки и передачи языка). В принципе получилось сделать это средствами конфига (код остался закомментированым в конфиге), но вылезли проблемы при сжатии css/js и ссылкам на статические ресурсы плагинов.
Читать дальше
Блок альтернативной навигации для 0.4.2
15
И так, как и обещал выкладываю блок альтернативной навигации, который позволяет разгрузить верхнюю часть экрана.
Читать дальше
Плагин "Мои Вещи"
25
Пол дня пробил в чёрный бубен вызывая код миллионов, до дыр прокурил доки LS, но в итоге всё встало на свои места и на выходе получилось то, что ценят все пользователи суверенного Лепрозория — «Мои Вещи».
Плагин, в итоге, оказался довольно компактный и элементарный. Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.
Устанавливать — как обычно. Пожелания по улучшению принимаются.
В процессе разработки нашёл пару мелких багов в ядре — сделаю тикеты. Поскольку документация ядра довольно сырая, хотелось бы чтобы кто-то мог просвятить по теме кеширования. Хочу вывести счётчики «обновлений» в меню, но не хочу постоянно дёргать базу.
Скачать Плагин можно вот тут — 16Kb. Сегодня вечером отправлю на модерацию в каталог.
UPD: 07.Aug.2010 — Апдейт! Новая версия плагина, помимо исправления пары мелких косяков в совместимости с другими плагинами, появилось своё подменю, где есть магический фильтр «показывать только новое» с счётчиком непрочитаных комментариев. Ура! Качать там же или в каталоге!
Плагин, в итоге, оказался довольно компактный и элементарный. Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.
Устанавливать — как обычно. Пожелания по улучшению принимаются.
В процессе разработки нашёл пару мелких багов в ядре — сделаю тикеты. Поскольку документация ядра довольно сырая, хотелось бы чтобы кто-то мог просвятить по теме кеширования. Хочу вывести счётчики «обновлений» в меню, но не хочу постоянно дёргать базу.
Скачать Плагин можно вот тут — 16Kb. Сегодня вечером отправлю на модерацию в каталог.
UPD: 07.Aug.2010 — Апдейт! Новая версия плагина, помимо исправления пары мелких косяков в совместимости с другими плагинами, появилось своё подменю, где есть магический фильтр «показывать только новое» с счётчиком непрочитаных комментариев. Ура! Качать там же или в каталоге!
Автоматическое подключение блога. Плагин для 0.4. Апдейт для 0.31
10
Привет всем. Наконец-то дошли руки до старых хаков. Выпустил обновления хака "" для 0.4 и фикс для 0.31
Плагин для 0.4
. Установка элементарная — копируете папку autoconnect в папку plugins движка и включаете плагин по адресу /admin/plugins.Фикс для 0.31
— внимательно сделайте все по инструкции внутри архива, при других внесенных изменениях в экшены топика, ссылки или вопроса — будьте еще внимательнее, и советую воспользоваться SVN DIFF).Немного о хаке.
Он упрощает для пользователей публикацию топиков в нужный блог, выводя при создании топика весь список блогов, в которые пользователь может писать (исходя из рейтинга) и подключает блог, если пользователь не вступал в него. В плагине для 0.4 учитываются условия для закрытых блогов.Плагин "OpenID"
21
В разделе «Модули» появился первый официальный плагин для LiveStreet 0.4.1 от команды разработчиков LiveStreet.
Плагин «OpenID» позволяет пользователям авторизоваться и зарегистрироваться на сайте используя OpenID или ВКонтакте.

У пользователя в настройках профиля появляется раздел «OpenID», где указан список его OpenId идентификаторов.
Плагин будет полезен не только тем, кто хочет упростить авторизацию у себя на сайте, но и разработчикам плагинов для LiveStreet. исходных код плагина полностью прокомментирован, поэтому может служить неким пособием по созданию плагинов.
Внимание! Данные плагин работает только на версии 0.4.1.
UPD Обновление плагина — livestreet.ru/blog/addons/5458.html
Плагин «OpenID» позволяет пользователям авторизоваться и зарегистрироваться на сайте используя OpenID или ВКонтакте.

У пользователя в настройках профиля появляется раздел «OpenID», где указан список его OpenId идентификаторов.
Плагин будет полезен не только тем, кто хочет упростить авторизацию у себя на сайте, но и разработчикам плагинов для LiveStreet. исходных код плагина полностью прокомментирован, поэтому может служить неким пособием по созданию плагинов.
Внимание! Данные плагин работает только на версии 0.4.1.
UPD Обновление плагина — livestreet.ru/blog/addons/5458.html
Вывод рекламных банеров
2
Я хочу выводить банеры каждые три публикации. Как сделать вывод банера через каждые 3 публикации?
решение:
upd: Оказывается, в моем случае один баннер может выводиться на одной странице только один раз. Как сделать, чтобы каждые 3 записи отображались разные баннеры, а не один и тот же?
решение:
upd: Оказывается, в моем случае один баннер может выводиться на одной странице только один раз. Как сделать, чтобы каждые 3 записи отображались разные баннеры, а не один и тот же?
Постинг в Facebook
3
Попробовал добавить кнопку для постинга в Facebook как в Twitter (ранее на livestreet был пост), но к сожалению ничего не вышло. Может кто-нибудь подскажет в чем ошибка?
Вот собственно сам код:
Вот собственно сам код:
<a href="http://www.facebook.com/sharer.php?u={$oTopic->getTitle()|escape:'html'}: {$oTopic->getUrl()}" title="Отправить в Facebook" target="_blank">Facebook</a>
Безболезненная интеграция uppod
24
Почти с самого мая 2009 (0.3) мы медленно и нехотя изменяем функционал милого локального сайтика
Сейчас я расскажу о самом простом способе вставки видео в посты, которого здесь не находил. Изначально была сделана своя форма загрузки для видео на базе стандартного /include/ajax/uploadImg.php, которая загружала файл и выдавала в окно поста код uppod-плеера строчек в 5, при этом пользователи могли хулиганить изменяя размер плеера и подсовывая свои листы стилей.
Проще всего (не правильнее, а именно проще всего) поправить системный файл /classes/modules/sys_text/Text.class.php.
Читать дальше
Сейчас я расскажу о самом простом способе вставки видео в посты, которого здесь не находил. Изначально была сделана своя форма загрузки для видео на базе стандартного /include/ajax/uploadImg.php, которая загружала файл и выдавала в окно поста код uppod-плеера строчек в 5, при этом пользователи могли хулиганить изменяя размер плеера и подсовывая свои листы стилей.
Проще всего (не правильнее, а именно проще всего) поправить системный файл /classes/modules/sys_text/Text.class.php.
Читать дальше
Добавляем поддержку xcache в 0.3.1
9
Сохраняем в каталог classes/lib/external/DklabCache/Zend/Cache/Backend
Редактируем classes/modules/sys_cache/Cache.class.php, или, можно просто создать папку Cache в каталоге classes/modules и скопировать туда Cache.class.php из sys_cache. Так как сначала идет проверка наличия класса в папке Cache, а потом уже в sys_cache — это сработает.
После
Перед
В config/config.php прописываем
Теперь кроме memory и file, LS поддерживает и xcache.
Редактируем classes/modules/sys_cache/Cache.class.php, или, можно просто создать папку Cache в каталоге classes/modules и скопировать туда Cache.class.php из sys_cache. Так как сначала идет проверка наличия класса в папке Cache, а потом уже в sys_cache — это сработает.
После
define('SYS_CACHE_TYPE_MEMORY','memory'); добавляемdefine('SYS_CACHE_TYPE_XCACHE','xcache');Перед
} else {
throw new Exception($this->Lang_Get('system_error_cache_type').": ".$this->sCacheType." (file, memory)");
} добавляем дополнительну проверку} elseif ($this->sCacheType==SYS_CACHE_TYPE_XCACHE) {
require_once('Zend/Cache/Backend/Xcache.php');
$oCahe = new Zend_Cache_Backend_Xcache(array());
$this->oBackendCache = new Dklab_Cache_Backend_TagEmuWrapper(new Dklab_Cache_Backend_Profiler($oCahe,array($this,'CalcStats')));
В config/config.php прописываем
define('SYS_CACHE_TYPE','xcache')Теперь кроме memory и file, LS поддерживает и xcache.
Хак: Автозаполнение для поиска
63
Давненько я не писал… и так к делу.Автозаполнение/подсказки (autocomplete) для поиска современная и весьма полезная вещь. Тут просматривая ЛС обнаружил, что данная функция здесь отсутствует.
Читать дальше