Написал автору компонента, он предложил такое решение, расширить класс подсчётов и при добавлении поля в сеофильтре указывать его: extendResource
Создать новый класс подсчётов по адресу core/components/seofilter/custom/count/customcount.class.php с содержимым:
<?php class customCount extends sfCountHandler { public function getExtendResourceConditions($value = '', $field = array(),$includeWhere = 1) { $conditions = array(); $conditions['join'] = array( 'extendResource'=> array('class' => 'extendResource', 'on' => 'extendResource.resource = modResource.id') ); if($includeWhere) { $conditions = array_merge($conditions, $this->getModResourceConditions($value, $field)); } return $conditions; } }
И прописать в системную настройку seofilter_count_handler_class значение customCount
Но не заработало:

Далее было предложено:
<?php class customCount extends sfCountHandler { public function __construct(modX &$modx, array $config = array()) { parent::contsruct($modx,$config) $this->modx->addPackage('extendResource' ,$this->modx->getOption('core_path').'components/extendresource/model/'); } public function getExtendResourceConditions($value = '', $field = array(),$includeWhere = 1) { $conditions = array(); $conditions['join'] = array( 'extendResource'=> array('class' => 'extendResource', 'on' => 'extendResource.resource = modResource.id') ); if($includeWhere) { $conditions = array_merge($conditions, $this->getModResourceConditions($value, $field)); } return $conditions; } }
При таком вызове сайт не грузиться выходит ошибка:
Parse error: syntax error, unexpected '$this' (T_VARIABLE) in C:\core\components\seofilter\custom\count\customcount.class.php on line 7Если убераю:
$this->получаю:
Parse error: syntax error, unexpected '$modx' (T_VARIABLE) in C:\core\components\seofilter\custom\count\customcount.class.php on line 7
Александр возможно Вы увидите в чём проблема? Может нужно делать аналогично тому как был расширен класс mFilter2, тогда как правильно расписать схему и остальное?
Нет точки с запятой в конце:
Убирать это не нужно:
Наверно должно быть так:
Получил ответ от автора:
Можете вообще убрать весь блок конструктора.
Я говорил проверить без подключения компонента — он возможно уже будет подключен, если нет,
можно через системную настройку, принудительно грузить его в память, как минишоп2 грузится.
Настройка в ключе содержит что то вроде packages или extensions.
Блок с конструктором, если я его правильно понял то я убирал:
Честно говоря моло что понятно из этого, подскажите пожалуйста, каким образом реализовать то что он предложил?
Нужно его найти и добавить в него расширение extendresource:
Находится настройка extension_packages в разделе core -> «Система и сервер».