Т.е.:
Категория 1
Подкатегория 1
Фото1
Фото2
и т.д.
Подкатегория 2
Фото1
Фото2
Так вот, в подкатегория выводится верное количество фотографий рядом с названием. А вот в главной категории рядом с названием указан 0, это происходит как я понял из-за того, что именно в этой категории нет фотографий.
Как сделать так, чтобы в ней выводилось: либо общее количество фотографий во всех подкатегориях этой категории, либо количество подкатегорий. Предпочтительнее первый вариант. Но буду признателен за любую помощь.
Только у меня так и не получилось это исправить.
Все проделал как указано, но ничего не поменялось. Хотел уточнить, это будет действовать только для вновь создаваемых каталогов или все же количество фоток должно обновиться и на уже созданных?
Подскажите, что сделал не так...
P.S. файлы прилагаю.
P.S.S. поле в таблице создавал след. образом: через phpmyadmin Открыл вкладку таблицы cms_photo_albums "структура" и после перечисления уже имеющихся полей, будет возможность добавить поле.
Выбрал:
1 поле, в конец таблицы и нажал ок. Появилось окно, где ввел название поля (child_ids), выбрал тип VARCHAR и в ячейке длина\значение указал 200.
1) открываем www\core\classes\photo.class.php строка примерно 259
$album['pubdate'] = cmsCore::dateFormat($album['pubdate']);
$album['countphoto'] = $this->getCountPhoto($album['NSLeft'], $album['NSRight']);
// ============================================================================ //
public function getCountPhoto($ns1, $ns2){ $sql = "SELECT f.id FROM cms_photo_albums a LEFT JOIN cms_photo_files f ON f.album_id = a.id AND f.published = 1 WHERE a.NSLeft >= {$ns1} AND a.NSRight <= {$ns2} AND f.id > 0 AND a.published = 1 "; $result = $this->inDB->query($sql); $result = $this->inDB->num_rows($result); return $result; }
{$cat.content_count}
{$cat.countphoto}
Решение для версии, 1.10.3(мб. и для других подойдет но пока нет под рукой)
1) открываем www\core\classes\photo.class.php строка примерно 259
заменяем на
2) чуть ниже после
вставляем
$album['pubdate'] = cmsCore::dateFormat($album['pubdate']);
3) и еще чуть ниже сразу над
$album['countphoto'] = $this->getCountPhoto($album['NSLeft'], $album['NSRight']);
вставляем
// ============================================================================ //
4) остается только вывести, в вашем файле шаблона www\templates\_шаблон_\components\com_photos_view.tpl строка примерно 54
public function getCountPhoto($ns1, $ns2){ $sql = "SELECT f.id FROM cms_photo_albums a LEFT JOIN cms_photo_files f ON f.album_id = a.id AND f.published = 1 WHERE a.NSLeft >= {$ns1} AND a.NSRight 0 AND a.published = 1 "; $result = $this->inDB->query($sql); $result = $this->inDB->num_rows($result); return $result; }
меняем на
{$cat.content_count}После этого должно подсчитывать количество фото в из самой категории + подкатегории.
{$cat.countphoto}
на 1.10.1 все работает! Плюс в репу тебе! БЛАГОДАРЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮ!