Перейти к содержимому


Фотография
- - - - -

Описание изображений в JBGallery

jbzoo рецепт jbgallery

Сообщений в теме: 18

#1 Cheren-dow

Cheren-dow

Отправлено 01 March 2015 - 11:55

*
Популярное сообщение!

На днях появилась необходимость сделать для каждого изображения галереи отличное друг от друга описание, возможно кому то пригодится, а реализовать это можно следующим образом.

 

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=""/>

Ну вот и все. Теперь по мима выбора папки появилось текстовое поле в котором первая строка - это описание для первого изображения, вторая для второго и т.д.

uai8_200x0.png

 

ВНИМАНИЕ!!!

  • Будьте внимательны при замене файлов.
  • Проверьте с начало на тестовом сайте а уже потом загружайте на рабочий сайт.
  • Это решение(модификация) тестировалось на 
    Joomla: 3.3.6
    JBZoo: 2.1.5 Pro
    Zoo: 3.3.1,
  • Не забывайте - это решение(модификация) и при следующих обновлениях эти изменения могут пострадать.
  • При появлении проблем Тех.Поддержка ответственности не несет. 

Сообщение отредактировал Cheren-dow: 06 April 2015 - 11:48

  • 5
Изображение
 

#2 Na_uM

Na_uM

Отправлено 01 March 2015 - 11:56

такими темпами скоро получиться отличная галерея!


  • 0

#3 Cheren-dow

Cheren-dow

Отправлено 01 March 2015 - 12:04

такими темпами скоро получиться отличная галерея!

Есть еще какие нибудь идеи? Пишите, по мере возможности и свободного времени буду реализовывать. 


  • 0
Изображение
 

#4 demfi

demfi

Отправлено 17 March 2015 - 11:34

Добрый день.

 

У меня как раз похожая задача возникла.

 

Для поисковиков очень правильно будет писать требуемые title и alt в href и img.

Как ниже:

<a href="http://demfi.ru/images/demfi/dilers/ru/avto-drive/033-goy-01.jpg" rel="gallery-1" title="Авто-Drive, магазин / интернет-магазин" class="jbgallery">
  <img src="http://demfi.ru/cache/com_zoo/images/033-goy-01_9df4dff35887f24a149f8d1311953320.jpg" alt="Авто-Drive, магазин / интернет-магазин" title="Авто-Drive, магазин / интернет-магазин" width="133" height="100">
</a>

В Вашей доработке изменяются title и alt в href и img ?

 

Но меня не устраивает, то что сейчас в title и alt в href и img подставляется только значение из name.  Мне требуется писать одно (составное) значение в alt (href / img)  и другое (составное) значение в подпись к картинке, при её полном открытии.

 

Сейчас я делаю так для подписи (full.php):

<script type="text/javascript">
    jQuery(function ($) {
        $('.jbgallery').fancybox({
         tpl: {
          next: '<a title="Вперёд" class="fancybox-nav fancybox-next"><span></span></a>',
          prev: '<a title="Назад" class="fancybox-nav fancybox-prev"><span></span></a>',
          closeBtn: '<a title="Закрыть" class="fancybox-item fancybox-close" href="javascript:;"></a>'
         },
         title: '<?php echo JString::trim(strip_tags($this->renderPosition('name'))) . ' DEMFI (ДЕМФИ) - Серия '. JString::trim(strip_tags($this->renderPosition('seria'))) . ' - '. JString::trim(strip_tags($this->renderPosition('type'))); ?>'
        });
    });
</script>

 

Т.е. одна подпись для всех картинок. Но этот код не влияет на alt в href / img. Сразу писать нужное название в name, чтобы оно подставлялось в alt/title мне не подходит.

Вот бы решение, которое позволяло "готовить" разные значения для alt и для подписи к картинке, при её полном открытии.

 


  • 0

#5 Cheren-dow

Cheren-dow

Отправлено 17 March 2015 - 11:39

demfi, по аналогии можно для любого атрибута сделать доп. поле и вводить туда нужную информацию.


  • 0
Изображение
 

#6 chirochka

chirochka

Отправлено 06 April 2015 - 11:17

Все сделала как написано. Текстовое поле появилось, но текст в нем не сохраняется. Подскажите, пожалуйста, почему так может быть?

(Joomla: 3.4.1, JBZoo: 2.1.5 Pro, Zoo: 3.3.4)

 

На старых версиях тоже проверяла. Та же ситуация.


  • 0

#7 Cheren-dow

Cheren-dow

Отправлено 06 April 2015 - 11:47

chirochka, добавьте параметр в 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=""/>

  • 0
Изображение
 

#8 laRus

laRus

Отправлено 06 April 2015 - 11:55

Ребята, дайте, плз, ссылку, если кто сделал! Посмотреть, что получается. Если описания разной длины, не ломается шаблон?


  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#9 chirochka

chirochka

Отправлено 06 April 2015 - 12:54

Параметр в xml не помог. Поле textarea не сохраняется.


  • 0

#10 Cheren-dow

Cheren-dow

Отправлено 06 April 2015 - 14:21

chirochka, можете исправленный вами архив приложить? 


  • 0
Изображение
 





Темы с аналогичным тегами jbzoo, рецепт, jbgallery

Click to return to top of page in style!