Jump to content


Photo
- - - - -

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

jbzoo рецепт jbgallery

18 replies to this topic

#11 chirochka

chirochka
  • JBZoo User (rus)
  • User rate: ~
  • posts: 5
  • topics: 1

Posted 06 April 2015 - 15:53

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

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

Attached Files


Edited by chirochka, 06 April 2015 - 15:57.

  • 0

#12 Aleksey Tarkov

Aleksey Tarkov
  • JBZoo User (rus)
  • User rate: ~
  • posts: 9
  • topics: 2

Posted 18 August 2015 - 05:02

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

 

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

 

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

 

wbr

Grizly


  • 2

#13 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 18 August 2015 - 06:13

Aleksey Tarkov, on 18 Aug 2015 - 04:02, said:

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

 

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

 

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

 

wbr

Grizly

 

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


  • 0

#14 Aleksey Tarkov

Aleksey Tarkov
  • JBZoo User (rus)
  • User rate: ~
  • posts: 9
  • topics: 2

Posted 18 August 2015 - 09:21

CB9TOIIIA, on 18 Aug 2015 - 05:13, said:

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

 

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

 

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

 

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

 

Имеется дополнительное текстовое поле, для ввода описаний к изображениям. Описания вносятся по 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

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


Edited by Aleksey Tarkov, 21 August 2015 - 11:33.

  • 4

#15 Aleksey Tarkov

Aleksey Tarkov
  • JBZoo User (rus)
  • User rate: ~
  • posts: 9
  • topics: 2

Posted 21 August 2015 - 11:39

*
POPULAR

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

 

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

 

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

 

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

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

 

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

 

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

 

wbr

Grizly

Attached Files


Edited by Aleksey Tarkov, 21 August 2015 - 11:51.

  • 5

#16 13LTD

13LTD
  • JBZoo User (rus)
  • User rate: 4.6
  • posts: 200
  • topics: 36

Posted 11 July 2016 - 08:16

Cheren-dow, on 01 Mar 2015 - 10:55, said:

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

 

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


  • 0

#17 Cheren-dow

Cheren-dow
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 11 July 2016 - 09:52

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


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

#18 13LTD

13LTD
  • JBZoo User (rus)
  • User rate: 4.6
  • posts: 200
  • topics: 36

Posted 11 July 2016 - 10:03

Cheren-dow, on 11 Jul 2016 - 08:52, said:

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. }

Edited by 13LTD, 11 July 2016 - 10:03.

  • 0

#19 Cheren-dow

Cheren-dow
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 95.7
  • posts: 5060
  • topics: 31

Posted 12 July 2016 - 14:05

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


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





Click to return to top of page in style!