13 комментариев

0
также интересно как можно сделать сортировку блогов в принципе. В той же категории они сортируются по ID
+1
В модуле Topic есть метод GetTopicsByFilter(). Вот, например, получение списка топиков с сортировкой по ID авторов:
$aFilter = array(
    'order' => 'user_id',
);
$aTopics = E::ModuleTopic()->GetTopicsByFilter($aFilter);
Аналогичный метод есть и у модуля Blog:
$aFilter = array(
    'order' => '...',
);
$aBlogs = E::ModuleBlog()->GetBlogsByFilter($aFilter);
0
Это я уже нашел методом проб и ошибок, но возникла проблема я не могу достучаться до значении $aFilter если я делаю свой массив в плагине то затираються другие отборы, получается нужно сохранить старый значения и добавить в них новое, возможно я вообще что то не так делаю.
0
А можно чуть конкретнее? В каком месте не получается достучаться до $aFilter? Я вот прямо сейчас вношу правки в модуль Topic как раз в плане работы с предопределенными фильтрами. И, возможно, мог бы учесть сразу ваши проблемы
0
Есть вероятнось что я просто еще не до конца разобрался в этом вопросе по тихоньку двигаюсь в нужном направлении, немного понял суть системы, теперь нужно просто практиковаться.
0
Для того, чтоб получить и переназначить фильтр надо использовать такую конструкцию:
class PluginTest_ModuleTopic_MapperTopic extends PluginTest_Inherit_ModuleTopic_MapperTopic {
    protected function buildFilter($aFilter) {
        $sWhere = parent::buildFilter($aFilter);
        //здесь переназначаешь то, что надо
        return $sWhere;
    }
}
0
Это как бы уже понял, но вот вопрос в другом есть EventShowBlog в нем получаем топики блогов, и я не смог повлиять не как на выборку, все жестко забито в этом методе, хук стоит только на выходе, хотя логичнее было бы иметь ху и на входе чтобы можно было как то влиять на доп отборы. если делать через переопределением как сделано с категориями то мы уже опять же получаем по факту всю сущность блога вместе с топиками и можем только дополнить то что уже есть. а изменить как?
0
Разобрался по факту нужно полностьб перенести всю функцию вывода блога и стопиками к себе в плагин, что не есть айс, ради 2 строк кода придеться копипастить порядка 130 строк кода. НЕ продуктивно это, наверное лучше бы иметь хук в начале функции.
0
Как уже писал выше, сейчас работаю как раз над тем, как решать подобные задачи. Планировал в следующей версии это реализовать, но будет уже в релизе 1.1. Чуть позже напишу топик об этом.
0
:) Да со мной не легко слишком много вопросов задаю, на другом сайте тоже терпели до поры до времени. ШУТКА.
0
Да. Это большой минус в движке. Иногда из-за одной строки надо весь метод переопредилить. Как у тебя сейчас к примеру.
0
Да тут не только метод, тут по факту пришлось при разработке плагина Дискуссии перекопипастить порядка 3 методов втом числе и мапер получения топиков ибо в типовой ну не как не получилось впишнуть все, отсюдова и возникла проблема что второй плагин просто не работет так как типовая выборка не работает по причине переопределения. :)

P>S Привет Одессе.
0
Вот: altocms.ru/1127.html

Упрощает задачу?
Отредактирован:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.