На днях появилась необходимость сделать для каждого изображения галереи отличное друг от друга описание, возможно кому то пригодится, а реализовать это можно следующим образом.
1. Добавляем новое поле для описаний в шаблон edit
Открываем шаблон
сайт\media\zoo\applications\jbuniversal\elements\jbgallery\tmpl\edit.php
После строк:
<div class="row"> <?php echo $this->app->html->_( 'control.selectdirectory', $directory, false, 'elements[' . $element . '][value]', $value ); ?> </div>
Добавляем:
<div class="row"> <?php echo $this->app->html->textarea('elements[' . $element . '][descriptions]', $descriptions); ?> </div>
2. Изменяем метод _getThumbnails
Откройте файл и найдите метод _getThumbnails
сайт\media\zoo\applications\jbuniversal\elements\jbgallery\jbgallery.php
Перед циклом
foreach ($files as $file) {
Добавьте следующие строки:
$description = $this->_data->get('descriptions'); $description = $this->app->jbstring->parseLines($description); $i = 0;
Далее внутри цикла после строк:
// set image name or title if exsist $name = htmlspecialchars($this->getItem()->name); if (isset($desc_array[$filename])) { $name = $desc_array[$filename]; }
Добавляем:
if (isset($description[$i]) && !empty($description[$i])) { $name = htmlspecialchars($description[$i]); }
Добавляем параметр описания в xml
сайт\media\zoo\applications\jbuniversal\elements\jbgallery\jbgallery.xml
после
<param name="name" type="text" default="" label="Name" description="Name used in item editor"/>
вставьте
<param name="description" type="text" default="" label="Description" description=""/>
Ну вот и все. Теперь по мима выбора папки появилось текстовое поле в котором первая строка - это описание для первого изображения, вторая для второго и т.д.
ВНИМАНИЕ!!!
- Будьте внимательны при замене файлов.
- Проверьте с начало на тестовом сайте а уже потом загружайте на рабочий сайт.
- Это решение(модификация) тестировалось на
Joomla: 3.3.6
JBZoo: 2.1.5 Pro
Zoo: 3.3.1, - Не забывайте - это решение(модификация) и при следующих обновлениях эти изменения могут пострадать.
- При появлении проблем Тех.Поддержка ответственности не несет.
Сообщение отредактировал Cheren-dow: 06 April 2015 - 11:48