#1
22 апреля 2013 в 22:22
Собственно есть раздел фотогалерея с довольно разветвленной структурой.
Т.е.:
Категория 1
Подкатегория 1
Фото1
Фото2
и т.д.
Подкатегория 2
Фото1
Фото2
Так вот, в подкатегория выводится верное количество фотографий рядом с названием. А вот в главной категории рядом с названием указан 0, это происходит как я понял из-за того, что именно в этой категории нет фотографий.
Как сделать так, чтобы в ней выводилось: либо общее количество фотографий во всех подкатегориях этой категории, либо количество подкатегорий. Предпочтительнее первый вариант. Но буду признателен за любую помощь.
Т.е.:
Категория 1
Подкатегория 1
Фото1
Фото2
и т.д.
Подкатегория 2
Фото1
Фото2
Так вот, в подкатегория выводится верное количество фотографий рядом с названием. А вот в главной категории рядом с названием указан 0, это происходит как я понял из-за того, что именно в этой категории нет фотографий.
Как сделать так, чтобы в ней выводилось: либо общее количество фотографий во всех подкатегориях этой категории, либо количество подкатегорий. Предпочтительнее первый вариант. Но буду признателен за любую помощь.
#2
23 апреля 2013 в 09:21
Разгадка здесь instantcms.ru/blogs/delai-chto-dolzhno-i-budet-chto-budet/pokazat-v-roditelskoi-galere-kol-vo-fotok-vlozhenyh-galerei.html#comment_54411
Только у меня так и не получилось это исправить.
Только у меня так и не получилось это исправить.
#3
23 апреля 2013 в 14:28
Все проделал как указано, но ничего не поменялось. Хотел уточнить, это будет действовать только для вновь создаваемых каталогов или все же количество фоток должно обновиться и на уже созданных?
Сегодня в 21:17
#4
23 апреля 2013 в 14:44
В общем я сейчас проверил — создал новую категорию, в ней подкатегорию и туда загрузил фотку. Но увы, все по прежнему: в главной категории (0), в подкатегории (1).
Подскажите, что сделал не так...
P.S. файлы прилагаю.
P.S.S. поле в таблице создавал след. образом: через phpmyadmin Открыл вкладку таблицы cms_photo_albums "структура" и после перечисления уже имеющихся полей, будет возможность добавить поле.
Выбрал:
1 поле, в конец таблицы и нажал ок. Появилось окно, где ввел название поля (child_ids), выбрал тип VARCHAR и в ячейке длина\значение указал 200.
Подскажите, что сделал не так...
P.S. файлы прилагаю.
P.S.S. поле в таблице создавал след. образом: через phpmyadmin Открыл вкладку таблицы cms_photo_albums "структура" и после перечисления уже имеющихся полей, будет возможность добавить поле.
Выбрал:
1 поле, в конец таблицы и нажал ок. Появилось окно, где ввел название поля (child_ids), выбрал тип VARCHAR и в ячейке длина\значение указал 200.
#5
23 апреля 2013 в 14:47
#6
24 апреля 2013 в 18:57
Вопрос все еще в силе…
#7
27 апреля 2013 в 12:43
Народ, ну подскажите, пожалуйста, что не так сделал то?
#8
29 апреля 2013 в 04:21
Лично я сам не знаю почему не работает. Я тоже проделал все, как указано, даже связывался с Cruzka и он мне во многом помог, подсказал, что да как. Но, ничего не вышло. Так что, если вдруг появится решение вопроса, буду рад.
#9
7 мая 2013 в 12:42
Вопрос все еще в силе, подскажите как его решить.
Вопрос актуален и как видно, не мне одному нужно решение. Готов заплатить немного, если кто поможет решить эту небольшую, но очень досадную недоделку.
#11
30 октября 2013 в 22:49
согласен… сам сижу и мучаюсь
Решение для версии, 1.10.3(мб. и для других подойдет но пока нет под рукой)
1) открываем www\core\classes\photo.class.php строка примерно 259
заменяем на
2) чуть ниже после
вставляем
3) и еще чуть ниже сразу над
вставляем
4) остается только вывести, в вашем файле шаблона www\templates\_шаблон_\components\com_photos_view.tpl строка примерно 54
меняем на После этого должно подсчитывать количество фото в из самой категории + подкатегории.
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}
#13
31 октября 2013 в 02:41
Решение для версии, 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 все работает! Плюс в репу тебе! БЛАГОДАРЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮ!
#14
11 ноября 2013 в 08:58
Спасибо, AtlantisWeb, все здорово получилось! А мы можем также выводить количество подальбомов в альбоме?
#15
20 ноября 2016 в 20:32
Попробовал на 1.10.6. Не работает, остаются одни кавычки. Подскажите вариант для 1.10.6