Best Answer Cheren-dow , 22 May 2014 - 11:29
realtygroupinfo, можно без вывода элемента посчитать. Для это например можно создать хелпер. Перейдите в папку и создайте файл jbgallery.php
сайт\media\zoo\applications\jbuniversal\elements\jbgallery\jbgallery.php
Со следующим содержимым
<?php // no direct access defined('_JEXEC') or die('Restricted access'); /** * Class JBGalleryHelper */ class JBGalleryHelper extends AppHelper { /** * @param $name * @param $params * @return bool|array */ public function countImage($mainFolder = 'images', $folder = null) { $path = JPATH_ROOT . '/' . $mainFolder . '/' . $folder; if (file_exists($path)) { $files = JFolder::files($path, '.', false, true, array('.svn', 'CVS', '.DS_Store')); $files = array_filter( $files, create_function('$file', 'return preg_match("#(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$#i", $file);') ); return count($files); } return 0; } }
Далее в шаблоне тизара получаем значение элемента т.е выбранную вами папку
$galleryElement = $item->getElement('bf80c021-3a32-4d35-acbf-f323eae3856f'); // укажите свой id элемента $galleryData = (array)$galleryElement->data();
Далее вызываем метод из нашего хелпера
echo $this->app->jbgallery->countImage('images', $galleryData['value']);
первый параметр это Исходная директория, та что вы указываете в настройках элемента
Мой Результат следующий
$galleryElement = $item->getElement('bf80c021-3a32-4d35-acbf-f323eae3856f'); $galleryData = (array)$galleryElement->data(); echo 'Всего картинок в галлереи ' . $this->app->jbgallery->countImage('images', $galleryData['value']);
Видим
Сделал по быстрому какие подводные камни могут быть не знаю. Но вроде работает.
Go to the full post