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


This topic is locked









