Подскажите пожалуйста, где ошибка в запросе:
$cats = $model->getCategoriesTree($ctype_name, $this->getOption('is_root'));
Пытаюсь получить только те категории, в которых есть запись.
Виджет Категории.
$cats = $model->getCategoriesTree($ctype_name, $this->getOption('is_root'));
$model->joinInner('con_'.$ctype_name, 'm', 'i.id = m.category_id');
Думаю проблема в том что, система игнорирует категорию в котором нет записи, даже если в подкатегориях есть запись.пробуйте так:
Вернул пустой результат, но там и так выборка делается из таблицы категории...$model->join('con_'.$ctype_name.'_cats', 'n', 'n.id = m.parent_id');
$model->joinInner('con_'.$ctype_name, 'm', 'i.id = m.category_id OR i.parent_id = m.category_id');
Наверно у меня не показывает из за того что некоторые записи в дополнительных категориях...А мне ваш вариант вернул все категории
В файле templates\default\controllers\content\widgets\categories\categories.tpl.php строка 11 — замените последнюю цифру (1) на число превышающее уровень вложенности ваших категорий (например 100500) и он покажет все категории и их подкатегорииНаверно у меня не показывает из за того что некоторые записи в дополнительных категориях
По идее просто join и innerJoin это синонимы.пробуйте так:
$model->joinInner('con_'.$ctype_name.'_cats_bind', 'b', 'i.id = b.category_id');
$model->groupBy('i.id');
$model->joinInner('con_'.$ctype_name, 'm', 'i.id = m.category_id OR i.parent_id = m.category_id');
как вы считаете, зачем таблица con_ТИП_cats_bind ?работают одинаково у меня на локалке
Действительно, про это я и не думал.Прикрепите запись к более чем одной категории