-2.83
Рейтинг
0.97
Сила

Обновление плагина "Sitemap" до версии 0.2



Что нового в версии 0.2?

  • Основательный рефакторинг кода плагина. Теперь все действия которые производят с наборами сущностей или свойствами сущностей другие плагины отображаются в генерируемых sitemap'ах. Для примера плагин NiceUrl изменяет url записей и в sitemap топиков выводятся url измененные плагином NiceUrl (т.е. есть поддержка NiceUrl).
  • Изменены ссылки в sitemap.xml в соответсвии с рекомандациями опубликованными на странице sitemaps.org/ru/protocol.php#location. Теперь они выглядят так как будто файлы sitemap'ов расположены в корне сайта.
  • Добавлены XSLT шаблоны для удобного просмотра sitemap в окне браузера.
  • Все основные настройки вынесены в конфиг плагина. Это время жизни кеша для наборов записей, приоритеты страниц, вероятная частота изменений страниц.
  • Добавлена возможность интеграции для сторонних плагинов.

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

Апгрейт плагина социальных кнопок для постов (проверено на 0.4.2)

Плагин «Социальные заметки (В контакте, Мой мир, Facebook, Twitter)» сейчас позволяет добавить к топику кнопки такого вида.


Если кто-то хочет новую кнопку Твиттера, ниже инструкция.

Там всё просто.
Читать дальше →

Livestreet: дао разработчика - 2

Первая часть цикла

Дао — это действие, процесс, поток. Чем чаще вы смотрите на код других плагинов, тем больше вы понимаете, как делать свой.
Накачайте плагинов под 0.4.2 и расматривайте, что у них внутри. Без этого вы не сможете начать писать свои плагины.

Я сделал типовой шаблон, из которого удобно делать свои собственные плагины. Располагается он тут:
http://github.com/medar/livestreetplugin
Чтобы скачать его, надо нажать в правом верхнем углу кнопку «Download Source». Желающие могут форкать и вносить изменения.

В файле находится «рыба» плагина с названием abcplugin.
Читать дальше →

Кнопки: В заметки(контакт), В мой мир, Мне нравится(Like), В твиттер под топиком(инструкция) - Плагин!

Только что прилепил на одном своем проекте и делюсь с вами.
Хотелось именно, чтобы отображались цифры, нажавших на кнопки, а не просто кнопки.


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

Sphinx для плагина Компании

Кто-нибудь делал привязку поиска по компаниям?
Добавил индекс по аналогии с комментами, но что-то он не ищет:
source companySource : lsParentSource
{
        sql_query               = \
                        SELECT company_id, company_url, UNIX_TIMESTAMP(company_date_add) as company_date_add, company_name, company_description, company_tags \
                        FROM company \
                       WHERE company_id>=$start AND company_id<=$end
        sql_query_range         = SELECT MIN(company_id),MAX(company_id) FROM company
        sql_range_step          = 1000
	sql_attr_uint			= company_id
	sql_attr_timestamp		= company_date_add
}

index companyIndex
{
        source                  = companySource
        path                    = /var/lib/sphinx/companyIndex
        docinfo                 = extern
        mlock                   = 0
        morphology = stem_enru
        charset_type            = utf-8
        html_strip                              = 1
        html_remove_elements = style, script, code
}



Или это принципиально невозможно сделать?

Серверная ошибка (Livestreet)

Добрый день!

Возникает ошибка и связана она с Livestreet.

Сервер: debian, nginx + apache, xcache, php, mysql.

На сервере крутятся около 10 сайтов.
Сейчас в Livestreet блоге online ~20 человек.

Проблема: раз в 1-2 суток появляется ошибка — срабатывает директива
nginx error_page 502 503 504 /50x.html;

Помогает только перезагрузка apache. Причем если самостоятельно каждые сутки делать перезагрузку apache — ошибки нет.

Чем дальше от перезагрузки, тем дольше и тяжелее загружается блог.
Иногда сначала блог загружается когда ты не залогинен, как только логинишься, крме главной страницы ничего не грузится.

Такое ощущение, что проблема накапливается до тех пор, пока совсем не ломается и тогда появляется ошибка…

С чем это может быть связано?
Прошу помочь и предложить пару идей/решений.

Блок "Кто онлайн" - настраиваем, как хотим

Выложил новую версию Менеджера блоков. В самом плагине учтен один интересный баг (спасибо daglex), из-за которого иногда криво работала сортировка блоков по приоритетам. Баг интересен тем, что это не баг плагина, и даже не баг ядра движка, это баг самого PHP.

И плюс к этому — добавлены дополнительные возможности по оформлению блока «Кто онлайн», который входит в состав плагина.
Читать дальше →

Использование LiveStreet как фреймворка

LiveStreet — это не просто хабра-подобный движок. И даже не столько движок для
создания сообществ, сколько замечательный фреймворк, который подходит для создания самых разнообразных сайтов.
Получается, что от хостинга требуется только php, т.к. для простого сайта-визитки работать с БД совсем необязательно!
Разумеется сайт из пары страниц можно оставить на простом html, но этим постом я хочу показать, что LS можно использовать для создания сайтов абсолютно любого типа.
В общем, кому стало интересно — прошу под кат.
Читать дальше →

Новые возможности по переопределению/наследованию классов 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() {        
    }
}
?>

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

Плагин aceBlockManager – раздвигаем рамки управления блоками

В эфире передача «По вашим заявкам». По многочисленным письмам радиослушателей посетителей сайта передаем песню выкладываю плагин «Менеджер Блоков». :)
Читать дальше →