Как сохранить совместимость при адаптации js шаблона (плагина) к js движка

Зачастую при адаптации шаблонов/плагинов так и тянутся руки поправить js в движке, что чревато потерей совместимости с другими шаблонами и плагинами.

Чтобы разобраться с этим вопросом и с целью самообразования, решил написать этот топик — может кому-то пригодится.

Какие есть варианты:
  1. Редактировать js-файлы прямо в движке
  2. Переписать (переопределить) нужный метод

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

Языковой файл плагина

Интересно, а где находится информация о том что массив в языковом файле плагина не добавляется к общему массиву, а к элементу [«plugin»][«название плагина»] => array(«здесь то что в файле»)? И что в итоге в шаблоне надо подставлять {$aLang.plugin.названиеплагина.названиеключа}? Это как то совсем не очевидно. Я это понял только посмотрев содержимое docs.livestreetcms.com/api/1.0/ModuleLang#GetLangMsg-detail.

Похоже это появилось в версии 1.0.1 livestreet.ru/blog/11132.html#comment199625:
В ЛС 1.0.1 поменялся вывод языка из плагинов на такую конструкцию.

Шаблон Banan Browny и плагин "Уровни"

Что мы имеем: LS 1.0.1, шаблон Banana Browny. Приобрёл великолепный, на мой взгляд, плагин livestreetcms.com/addons/view/335/trac/, залил в директорию /plugins/, активировал через аминку, и… ничего…

Какие действия предпринимаем: открываем файл /templates/skin/banana/actions/ActionProfile/whois.tpl
примерно в 153 строке находим {hook run='profile_whois_item' oUserProfile=$oUserProfile}
меняем его на {hook run='profile_whois_item_after_privat' oUserProfile=$oUserProfile}
сохраняем и наслаждаемся наличем плагина «Уровни» у себя на сайте.
Для чего пишу это?
Для того, чтобы тот кто столкнётся с подобной проблемой после меня не стал носится с выпученными глазами и криками «ААААА, меня на**али!!!» ))))
Благодарю автора beauty_free за интересный, оригинальный плагин.

Как я запускал LiveStreet на VPS. Все части.

Меня попросили объединить все три мои части про то как я ставил LS.

Часть 1 (Amazon s3 и CURL)
Часть 2 (Плагин Amason S3 и Livestreet Picture Albums)
Часть 3 (XML ошибка, SiteMap)

Собственно все части под катом.

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

Совместимость плагинов «Company», «Sitemap» и «NiceURL» [Топик закрыт по техническим причинам]

Сейчас столкнулся с проблемой совместимости самых востребованных плагинов которые дают очень хорошую возможность продвижения сайта в интернете, это плагины «Company», «Sitemap» и «NiceURL».

Обращался к создателю плагина «Company» и просил его сделать совместимость с «NiceURL» но уже долгое время пока ответа не дождался, так же возникла проблема с плагином «Sitemap». Теперь пишу в сообщество, так как думаю что многих эта проблема интересует.

Возможно кто то уже это реализовывал и подскажет как это сделать..?

При активации плагинов «Company» и «NiceURL» выдаёт следующую ошибку:
Warning: Class 'PluginCompany_ModuleTopic_EntityTopic' not found in Z:\home\my_site.ru\ls_plugin\engine\classes\Engine.class.php on line 610

Fatal error: Class 'PluginCompany_Inherit_ModuleTopic_EntityTopic' not found in Z:\home\my_site.ru\ls_plugin\plugins\company\classes\modules\topic\entity\Topic.entity.class.php on line 18

Префикс "Ls" у классов

Заметил, что в версии 0.3 появился префикс Ls у некоторых классов.

Это очень хорошо, т.к. например, в своем проекте я создал некое подобие API для интеграции базы LiveStreet с авторизацией в MediaWiki. В версии 0.2 мне приходилось задавать такой префикс для классов User, Block и Database. В 0.3 меня приятно порадовало наличие префикса у двух из них, однако класс Block по прежнему конфликтует с аналогичным у MediaWiki.

Мне кажется есть смысл добавить префиксы ко всем классам (а в идеале и к константам и т.п.).