Конфликт плагинов Плагинатора

Добрый день!
У меня такой вопрос. Создал плагин добавления нового типа топика через сервис pluginator.ru. Плагин переопределяет функцию GetTopicsByFilter и задает переменную $iPerPage=10. По какой-то причине эта переменная не переопределяется через конфиг и в блоке топиков выводится минимум 10 штук, даже если в конфиге задано другое значение. Проблема еще и в том, что все остальные плагины, использующие функцию GetTopicsByFilter тоже не могут переопределить значение $iPerPage и становятся зависимы от плагина от Плагинатора.
Затык где-то вот здесь: /имя плагина/classes/modules/topic/Topic.class.php
Функция GetTopicsByFilter.
return parent::GetTopicsByFilter($aFilter,$iPage=1,$iPerPage=10,$aAllowData=null);
Можете подсказать решение?

Оставить комментарий

Чтобы оставить комментарий или зарегистрируйтесь на сайте×

4 комментария

avatar
доброго.
строку в плагине
return parent::GetTopicsByFilter($aFilter,$iPage=1,$iPerPage=10,$aAllowData=null);
замените на
return parent::GetTopicsByFilter($aFilter,$iPage,$iPerPage,$aAllowData);

спасибо, поправлю
avatar
Такой вариант я уже пробовал. Вываливает:

SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL' at line 12 at Z:\home\website\www\classes\modules\topic\mapper\Topic.mapper.class.php line 230
Array ( [code] => 1064 [message] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL' at line 12 [query] => SELECT SQL_CALC_FOUND_ROWS t.topic_id FROM prefix_topic as t, prefix_blog as b WHERE 1=1 AND t.topic_publish = 1 AND ((b.blog_type='personal') OR (b.blog_type='open') OR (b.blog_type='close' AND t.blog_id IN ('4','5','6','9'))) AND t.topic_type IN ('events') AND t.blog_id=b.blog_id LIMIT 0, NULL [context] => Z:\home\website\www\classes\modules\topic\mapper\Topic.mapper.class.php line 230 )

Значение $iPerPage не определено, из-за этого такая ошибка. Вот и не пойму, как решать. Какая-то фигня с наследованием.
avatar
перепроверил Ваш плагин с внесенной правкой из комента выше на чистой ls(1.0.2) — нет описаной вами ошибки, возможно какойто еще плагин наследует GetTopicsByFilter
avatar
Пардон, была моя ошибка.
Config::Get('block.stream.row') заменил на другое значение, а оно не было определено в конфиге, из-за этого посыпались все вышупомянутые баги. Сейчас вроде работает, спасибо за помощь :)
Еще один маленький нюанс заметил. В функции активации плагина:
if (!$this->isFieldExists('prefix_comment', название поля)) {

Должно быть по видимому 'prefix_topic', иначе после деактивации-активации будет ругаться на дублирующее поле в таблице prefix_topic.
Ну это так, мелочи :)
еще