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

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

 

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

 

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

 

wbr

Grizly

 

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


  • 0

#14 Aleksey Tarkov

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

Posted 18 August 2015 - 09:21

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

 

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

 

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

 

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

 

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

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

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

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

если 

$description = $this->_data->get('descriptions');
$description = $this->app->jbstring->parseLines($description);

$i = 0;

возвращает 

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

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

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

вот это

string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""

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

 

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

    protected function _getThumbnails($params)
    {
        $thumbs = array();
        //$width  = $params->get('width');
        $height = $params->get('height');
        $resize = $params->get('resize', 1);
        $title  = $this->_data->get('title', '');

        $files = JFolder::files($this->_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);')
        );

        // set default thumbnail size, if incorrect sizes defined
        /*$width  = intval($width);
        $height = intval($height);
        if ($width < 1 && $height < 1) {
            $width  = 100;
            $height = null;
        }*/
		
		$description = $this->_data->get('descriptions');
		$description = $this->app->jbstring->parseLines($description);
		var_dump($description); 
		$i = 0;
        foreach ($files as $file) {

            $filename = basename($file);
            $thumb    = $this->app->jbimage->resize($file, $width, $height);

            // set image name or title if exsist
            //$name = '';
            /*if (isset($desc_array[$filename])) {
                $name = $desc_array[$filename];
				var_dump($name);
            }*/

			if (isset($description[$i]) && !empty($description[$i])) {
				$name = htmlspecialchars($description[$i]);
			}
			
			$name = htmlspecialchars($description[$i]);
			var_dump($name); 
			
            $thumbs[] = array(
                'name'         => htmlspecialchars($this->getItem()->name),
		'desc'         => $name,
                'filename'     => $filename,
                'img'          => $this->app->jbimage->getUrl($file),
                'img_file'     => JPath::clean($file),
                'thumb'        => $thumb->url,
                'thumb_width'  => $thumb->width,
                'thumb_height' => $thumb->height
            );
			$i++;
        }

        return $thumbs;
    }

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!