+4.25
Рейтинг
11.40
Сила

Антон

Боевой курс новичка или "всем новеньким - сюда"

Это краткое FAQ.

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

Еще один вопрос по ORM

Всем привет!

Есть три таблицы:



Связь Entry описана:

    protected $aRelations = array(
        'resources' => array(self::RELATION_TYPE_MANY_TO_MANY,'ModuleResource_EntityResource', 'resource_id', 'db.table.resource_to_entry', 'entry_id')
    );


При запросе типа…
$colEntries = $this->Entry_GetEntryItemsByFilter(array(
                                                       'status'=>'published',
                                                       '#with' => array(),
                                                       '#order'=>array('date_begin' => 'asc'),
                                                       '#page' => array($page,$perpage)
                                                     ));


… загружается коллекция записей. В дальнейшем, при обходе коллекции в каждой итерации выполняется код:

$oEntry->getResources(array('resource_type'=>'IMAGE_THUMB_ENTRY_TYPE1','deleted'=>0)


Все работает, но не устраивает поток запросов к БД :(

Вопрос знатокам:

Есть ли способ загрузки всей коллекции ресурсов (к каждой записи entry) на этапе вызова Entry_GetEntryItemsByFilter?

Пробовал через #with. Не получилось. Утыкается в проверку типа связи, где и вызывает исключение.

Хак для роутинга

При создании собственного модуля встала задача, чтобы в URLе не присутствовало название экшена, а сразу шел параметр. В сообществе нашел пару постов которые помогли разобраться, но конечного решения так и не было. Хочу поделиться тем, что у меня получилось. Рассмотрим все на примере экшена profile. Переделываем URL страницы пользователя с
site.ru/profile/vasya/
На
site.ru/vasya/

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

Кеширование или как много хорошего в этом слове


Думаю не для многих разработчиков есть секретом что в ЛС встроен механизм кеширования информации, полученной от БД. Но мои частые наблюдения сообщают о другом — я не могу вспомнить сторонние плагины, которые использовали бы кеширование в своей работе. Да что лукавить — я сам его обходил стороной часто. Поэтому этот топик призван пролить луч света на использование кеширования в ЛС в своих плагинах, т.к. это довольно просто.

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

Как задействовать рейтинг при голосовании за комментарий?

Привет всем!

Захотела я для своей ЭМО-Социальной сети сделать такую штуку чтобы када пользователь голосует за комент то ему и рейтинг капал, а не только сила.

Я зашла сюда: Rating.class.php и нашла тут штуку которая поднимает рейтинг и силу за голос в топе и попыталась перенести ее в комент, но у меня какая то ошибка.
Читать дальше →

Увеличение рейтинга за приглашенного через инвайт пользователя

Добрый день,
искал через поиск ответ на этот вопрос, но так и не нашел, поэтому хочу спросить у уважаемого сообщества.
Версия движка 4.2. Скажите пожалуйста, как можно увеличивать рейтинг пользователя за то, что по отправленному им инвайту зарегистрировался другой пользователь?
Тем самым стимулировать выдачу приглашений на сайт

Карма пользователей.Сила Голоса.Переголосование.

Привет Лайвстрит.У меня есть небольшое уютненькое закрытое сообщество.Хотелось бы поблагодарить всех разработчиков данного cms и плагинов.Все очень удобно, красиво, отлично работает.У меня к Вам появились вопросы на которые я не смог найти внятные ответы.В общем, со временем пользователи в моем сообществе увлеклись кармой, но так как сообщество маленькое, то установленные правила по которым начисляются очки в карму не очень их радует.Для повышения интереса к созданию новых топиков и общению я поощерял кармой активных пользователей через бд.Но это вызвало негодование у остальных.Кармой у нас очень активно пользуются, оценивают каждый комментарий почти, поэтому я вот думаю обнулить всем карму и установить новые правила начисления очков в карму и пусть пользователи сами «поощеряют» друг друга кармой.У меня есть вопросы по этому поводу:

1) При карме пользоватля 00.00, когда он голосует за топики, комментарии и в профили, чтобы его вес голоса был равен +1.00.То есть он поставил плюсик — другому пользователю, автору коммента\топика или хозяину профиля в карму натекла единичка.Аналогично с минусами.

2) Переголосование.Возможность поставиь еще раз оценку через 24 часа, потом через 24 часа еще и еще.Причем все голоса должны сохранятся.Допустим за 72 часа пользователь проголосовал за топик 3 раза и все эти три раза отражаются на карме автора топика.

Техническая сторона: Livestreet 0.4.2

ORM и ActiveRecord в 0.5 и выше

Выход версии 0.5 для меня было нечто большим, чем добавление страницы активности и ленты топиков из подписанных блогов. В новой версии реализованы ORM и ActiveRecord. Вместе они дают мощнейший инструментарий для разработчика, избавляя того от кучи однотипного кода, который приходилось писать каждый раз при разработке плагина. Тот-же форум, о котором будет идти речь в статье, после обновления похудел на 2177 строк кода. В этой статье я хочу углубиться в ORM и AR на примере создания плагина для LiveStreet.

Читаем дальше...

Система блоков

Если пробежаться глазами по сайтам, созданным с ее помощью несложно заметить, что большинство из них наследует две колонки стандартных шаблонов.
Но ведь LS может похвастаться простой, но от этого не менее функциональной системой блоков. Почему владельцы сайтов не используют ее? Возможно, дело в документации?
Это я сегодня с Вашей помощью и попробую исправить.


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

Вопрос по ORM

Решил попробовать LSный ORM, возник вопрос сразу по получению сущности
Есть нарпример таблица news и поле в ней news_id
Как вызвать выборку сущности по id? Т.е.

LS::E()->News_GetNewsByNews_Id(1);

Не работает, в силу того, что в __call() делается explode по "_" а механизма маппинга полей в базе я не нашел.
Или ORM диктует систему наименования полей в базе и просто интегрировать не получится?