+18.28
Рейтинг
45.76
Сила

Быстрая интеграция поиска от Google в ваш сайт.

Задача довольно простая, но на всякий случай изложу готовое решение, на тот случай если кто-то сходу не разберется.

Интеграция гугло-поиска может пригодится если Sphinx вы установить не в силах (к примеру виртуальный хостинг, как это в моем случае), а плагин aceMySearch вам по каким-то причинам не подходит (не хотите получить дополнительную нагрузку на сайт или просто хотите немного заработать на AdSense :)

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

Как пользователя Контакта превратить в вашего.


Думаю эта информация будет полезна авторам сайтов у которых нет команды (стартового ядра )для начального наполнения сайта или средств для найма вменяемых «постеров».

И так, у вас есть готовый проект, но нет людей кроме вас кто готов туда писать или как минимум комментировать, то что пишите вы… денег на рекламу тоже нет… в поисковиках вас нет… и никто о вас не знает…

Скажем спасибо Контакту, за то что он собрал много людей и разделил их на целевые группы (что нам и надо).
Читать дальше →

Релиз LiveStreet 0.4.1

Вышел релиз LiveStreet 0.4.1, который содержит в основном фиксы багов относительно версии 0.4. Но есть и существенные изменения. Скачать здесь.

Список основных изменений:

  • Исправленный и доработанный плагин «Page», теперь страницы можно сортировать и выводить в главное меню
  • Новый шаблон «developer», теперь он более простой и легкий. Говорим спасибо deniart'у :)
  • Новая форма наименования классов в движке, подробнее
  • Поддержка наследования классов, подробнее
  • Шаблоны могут иметь свой собственный конфиг и языковые файлы (каталог шаблон/settings/[config|language])
  • Отказ от использования custom классов, теперь они не поддерживаются
  • Английская локализация
  • Фикс багов

Обновление с 0.4

  1. Обновить структуру БД, выполнив SQL из файла /install/convert_0.4_to_0.4.1.sql
  2. Удалить старые файлы и залить новые, либо вручную внести все изменения. Основную часть изменений составляет шаблон «developer», поэтому не пугайтесь большому листингу
  3. Обязательно сбросить кеш. Файловый — удалить содержимое каталога с кешем (кроме файла .htaccess), если стоит memcache, то перезапустить его

Обновление плагинов от 0.4

Плагины требуют адаптации (наименование классов) к версии 0.4.1, более подробно здесь.

Новые возможности по переопределению/наследованию классов LiveStreet

В LS появилась новая возможность для разработчиков плагинов — наследование классов. Идея была высказана еще avadim'ом здесь.
Эта возможность позволит удобно переопределять различные методы одного класса (модуля, экшена, сущности, маппера) разными плагинами без конфликтов.
Главное отличие от делегирование — не происходит блокировки переопределения класса для других плагинов. Также есть возможность переопределения одного метода разными плагинами, но здесь разработчикам нужно быть очень осторожными и делать так, чтоб свести вероятность конфликта к минимуму.

Как использовать.
Например, нужно переопределить метод получения пути до аватара у сущности пользователя в плагине Test. В плагине необходимо объявить те классы, которые будут наследоваться. Объявление происходит в свойстве $aInherits:
<?php
class PluginTest extends Plugin {
    
    protected $aInherits=array(
       'entity'  =>array('ModuleUser_EntityUser'=>'_ModuleSide_EntityUser')
    );

    public function Activate() {        
        return true;
    }
    
    public function Init() {        
    }
}
?>

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

Столкнулся с интересным багом LS 0.4

На сайте sitomania.ru если в блоге перейти на любую страницу кроме главной то пропадают все блоки.

Пример:


UPD: Решение найдено! Подсказал Banditt0.

Фикс:

Необходимо внести следующие изменения в config/config.php:
/**
* Настройки вывода блоков
*/
$config['block']['rule_index_blog'] = array(
'path' => array(
'___path.root.web___/blog$',
'___path.root.web___/blog/*$',
'___path.root.web___/blog/*/*$',
'___path.root.web___/index/*$',
'___path.root.web___/blog/*/*\.html$',
'___path.root.web___/blog/*\.html$',
'___path.root.web___/top$',
'___path.root.web___/top/*$',
'___path.root.web___/top/*/*$',
'___path.root.web___/my/*$',
'___path.root.web___/my/*/*$',
),

Изменение наименований классов в движке

В LiveStreet произошел рефакторинг формы наименований классов. Данное предложение высказывалось avadim'ом еще на LS-party и теперь реализовано.

Новые формы:
  • модуль — Module[имя модуля]
  • маппер — Module[имя модуля]_Mapper[имя маппера]
  • сущность — Module[имя модуля]_Entity[имя сущности]

Для плагинов добавляется префикс Plugin[имя плагина]_, например, Plugin[имя плагина]_Module[имя модуля]_Entity[имя сущности].

Подключение маппера теперь происходит автоматически при вызове метода Engine::GetMapper() в модуле:
Engine::GetMapper(__CLASS__) — вернет маппер совпадающий с именем модуля
Engine::GetMapper(__CLASS__,'Test') — вернет маппер Test

Такой подход позволит навести порядок и логику в названия классов.

В связи с этим плагины, написанные под релизную версию 0.4, работать не будут на последней версии из SVN. Для обеспечения их работоспособности нужно только переименовать классы согласно новым правилам.

Плагин для мультиязычности

Хочу поделиться с сообществом плагином для реализации мультиязычности на сайте.

Что сделано

Пока я реализовал возможность выбора языка интерфейса в настройках пользователя и при регистрации.
Список доступных языков формируется из языковых файлов (по дефолту они лежат в /templates/language/). У нас на Кукораме пока два языка: русский и украинский (актуальная версия с исправленными ошибками, если нужен — пишите в личку).
Читать дальше →

Плагин aceAdminPanel – новые возможности для разработчиков плагинов

Прямо так и хочется начать: «Кролики – это не только ценный мех, но и три-четыре килограмма легкоусвояемого мяса» :)

А все потому, что плагин админки (aceAdminPanel) – это не только облегчение работы администратора сайта, но и новые возможности для разработчиков, пишущих различные расширения для движка. Здесь я расскажу об одной интересной фиче, которую я смог реализовать в плагине, и которая дает гораздо больше возможностей при создании плагинов, чем стандартные средства.
Читать дальше →