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


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

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

jbzoo рецепт jbgallery

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

#11 chirochka

chirochka

Отправлено 06 April 2015 - 15:53

На всякий случай взяла чистый исходник jbgallery и по-новой все сделала. Результат тот же. В xml кстати, уже был <param name="description"...

Измененный элемент во вложении

Прикрепленные файлы

  • Прикрепленный файл  edit.php   851байт   184 Количество загрузок:
  • Прикрепленный файл  jbgallery.php   6.51К   184 Количество загрузок:
  • Прикрепленный файл  jbgallery.xml   2.34К   199 Количество загрузок:

Сообщение отредактировал chirochka: 06 April 2015 - 15:57

  • 0

#12 Aleksey Tarkov

Aleksey Tarkov

Отправлено 18 August 2015 - 05:02

Если вдруг кому еще интересно - я довел до ума эту идею, работает, описание выводится и редактируется. 

 

Реализовано как отдельный элемент jbzoo (во избежание проблем с обновлениями)

 

Проявится интерес - выложу архив с измененными файлами.

 

wbr

Grizly


  • 2

#13 CB9TOIIIA

CB9TOIIIA

Отправлено 18 August 2015 - 06:13

Aleksey Tarkov сказал(а) 18 Ауг 2015 - 04:02:

Если вдруг кому еще интересно - я довел до ума эту идею, работает, описание выводится и редактируется. 

 

Реализовано как отдельный элемент jbzoo (во избежание проблем с обновлениями)

 

Проявится интерес - выложу архив с измененными файлами.

 

wbr

Grizly

 

В чем проблема?) маркетплэйс ждет Вас)


  • 0

#14 Aleksey Tarkov

Aleksey Tarkov

Отправлено 18 August 2015 - 09:21

CB9TOIIIA сказал(а) 18 Ауг 2015 - 05:13:

В чем проблема?) маркетплэйс ждет Вас)

 

На полноценный продукт эти художества не тянут :)

 

Так, взял эту идею и довел до реализации. Выкладываю здесь. Если посчитаете уместным разместить это в маркетплэйсе - перенесу туда.

 

Отличия от стандартной галлереи:

 

Имеется дополнительное текстовое поле, для ввода описаний к изображениям. Описания вносятся по 1 на строку.

 

desc_edit.jpg

 

Имеется настройка вывода описание изображения.

 

1 вариант - объединять с названием элемента.

 

desc_paste_settings.jpg

Настройки

 

desc_paste.jpg

Результат, и фрагмент кода.

 

2 вариант - описание идет отдельно

 

desc_no_paste_settings.jpg

Настройки

 

desc_no_paste.jpg

Результат и фрагмент кода.

 

Всплывающее окно всегда имеет объединенную подпись. 

desc_popup.jpg

 

wbr

Алексей Тарков


Сообщение отредактировал Aleksey Tarkov: 21 August 2015 - 11:33

  • 4

#15 Aleksey Tarkov

Aleksey Tarkov

Отправлено 21 August 2015 - 11:39

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

Чуток доделал элемент. 

 

Теперь галерея умеет брать описания картинок из файла. Название файла можно изменить в настройках элемента.

 

Последовательность проверки: файл описания - поле с описаниями в базе.

 

Так же возможно привязать описание к имени файла. 

пишется в одной строке, разделитель - "##" 

 

при этом строка будет иметь следующий вид

 

file_name.jpg##Крутая картинка

 

wbr

Grizly

Прикрепленные файлы

  • Прикрепленный файл  jbgallerym.zip   5.93К   185 Количество загрузок:

Сообщение отредактировал Aleksey Tarkov: 21 August 2015 - 11:51

  • 5

#16 13LTD

13LTD

Отправлено 11 July 2016 - 08:16

Cheren-dow сказал(а) 01 Мар 2015 - 10:55:

if (isset($description[$i]) && !empty($description[$i])) { $name = htmlspecialchars($description[$i]); }

 

вот с этого места не работает в 2.2.х, подскажите как поправить 


  • 0

#17 Cheren-dow

Cheren-dow

Отправлено 11 July 2016 - 09:52

13LTD, видимо вы где то допускаете ошибку. Данное решение будет работать на любой версии.


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

#18 13LTD

13LTD

Отправлено 11 July 2016 - 10:03

Cheren-dow сказал(а) 11 Июл 2016 - 08:52:

13LTD, видимо вы где то допускаете ошибку. Данное решение будет работать на любой версии.

ну тяжело допустить ошибку в копировании)

если 

  1. $description = $this->_data->get('descriptions');
  2. $description = $this->app->jbstring->parseLines($description);
  3.  
  4. $i = 0;

возвращает 

  1. array(3) {
  2. ["название фото"]=&gt;
  3. string(25) "название фото"
  4. ["название фото1"]=&gt;
  5. string(26) "название фото1"
  6. ["название фото2"]=&gt;
  7. string(26) "название фото2"
  8. }

как и положено то 

  1. if (isset($description[$i]) && !empty($description[$i])) {
  2. $name = htmlspecialchars($description[$i]);
  3. }

вот это

  1. string(0) ""
  2. string(0) ""
  3. string(0) ""
  4. string(0) ""
  5. string(0) ""
  6. string(0) ""
  7. string(0) ""
  8. string(0) ""
  9. string(0) ""
  10. string(0) ""
  11. string(0) ""
  12. string(0) ""

вот и вопрос где тут может закрасться ошибка

 

ну а вот и сама функция

  1. protected function _getThumbnails($params)
  2. {
  3. $thumbs = array();
  4. //$width = $params->get('width');
  5. $height = $params->get('height');
  6. $resize = $params->get('resize', 1);
  7. $title = $this->_data->get('title', '');
  8.  
  9. $files = JFolder::files($this->_path, '.', false, true, array('.svn', 'CVS', '.DS_Store'));
  10. $files = array_filter(
  11. $files, create_function('$file', 'return preg_match("#(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$#i", $file);')
  12. );
  13.  
  14. // set default thumbnail size, if incorrect sizes defined
  15. /*$width = intval($width);
  16. $height = intval($height);
  17. if ($width < 1 && $height < 1) {
  18. $width = 100;
  19. $height = null;
  20. }*/
  21. $description = $this->_data->get('descriptions');
  22. $description = $this->app->jbstring->parseLines($description);
  23. var_dump($description);
  24. $i = 0;
  25. foreach ($files as $file) {
  26.  
  27. $filename = basename($file);
  28. $thumb = $this->app->jbimage->resize($file, $width, $height);
  29.  
  30. // set image name or title if exsist
  31. //$name = '';
  32. /*if (isset($desc_array[$filename])) {
  33. $name = $desc_array[$filename];
  34. var_dump($name);
  35. }*/
  36.  
  37. if (isset($description[$i]) && !empty($description[$i])) {
  38. $name = htmlspecialchars($description[$i]);
  39. }
  40. $name = htmlspecialchars($description[$i]);
  41. var_dump($name);
  42. $thumbs[] = array(
  43. 'name' => htmlspecialchars($this->getItem()->name),
  44. 'desc' => $name,
  45. 'filename' => $filename,
  46. 'img' => $this->app->jbimage->getUrl($file),
  47. 'img_file' => JPath::clean($file),
  48. 'thumb' => $thumb->url,
  49. 'thumb_width' => $thumb->width,
  50. 'thumb_height' => $thumb->height
  51. );
  52. $i++;
  53. }
  54.  
  55. return $thumbs;
  56. }

Сообщение отредактировал 13LTD: 11 July 2016 - 10:03

  • 0

#19 Cheren-dow

Cheren-dow

Отправлено 12 July 2016 - 14:05

13LTD, сегодня, завтра проверю что нужно изменить и отпишусь. 


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





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

Click to return to top of page in style!