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


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

JBImage - вывод фоновым изображением


Лучший Ответ SmetDenis , 14 August 2014 - 10:55

Вообще ресайз происходит с помощью хелпера

media\zoo\applications\jbuniversal\framework\helpers\jbimage.php
Методы resize и getUrl
Не советую их менять.


Думаю более простой вариант - это добавить свой шаблон в JBImage
Создаете файл
jbuniversal\elements\jbimage\tmpl\jbimage-url.php
xyy_200x0.png

В файле добавьте
jbuniversal\elements\jbimage\jbimage.xml
9hz_200x0.png Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 6

#1 myjob495

myjob495

Отправлено 14 August 2014 - 08:46

Доброго дня, всему сообществу.

 

к примеру:

 

'url'   => $image->url

 

возвращает

 

url="http://ссылка к кешируемому изображению"

 

Нужно получить путь к изображению вида:

 

url("http://ссылка к кешируемому изображению");

 

для того, чтобы сделать изображение фоновым для объекта.

 

Подскажите, плиз, где формируется данный строковый параметр в элементе JBImage. Просмотрел, как мне кажется, все, что связано с элементом и не нашел....

 СПАСИБО!!!!


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 14 August 2014 - 09:08

myjob495, здравствуйте. Посмотрите файл

сайт\media\zoo\applications\jbuniversal\elements\jbimage\jbimage.php 

Метод 

public function _render($params = array()){
...
}
return $this->renderLayout($layout, array(
		'imageAttrs' => $this->_buildAttrs(array(
				'class'  => 'jbimage',
				'alt'    => $alt,
				'title'  => $title,
				'src'    => $image->url,
				'width'  => $image->width,
				'height' => $image->height,
			)),
		'linkAttrs'  => $this->_buildAttrs(array(
				'class'  => 'jbimage-link ' . $appendClass,
				'title'  => $title,
				'href'   => $url,
				'rel'    => $rel,
				'target' => $target,
				'id'     => uniqid('jbimage-link-'),
			)),
		'link'       => $url,
		'image'      => $image,
	)
);

Это все данные которые передаются в шаблон элемента


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

#3 myjob495

myjob495

Отправлено 14 August 2014 - 10:19

Да это все понятно, я и пишу, что

 

'url'   => $image->url

 

возвращает

 

url="http://ссылка к кешируемому изображению"

 

мне нужно чтобы возвращалось:

 

url("http://ссылка к кешируемому изображению");

 

 

 

где формируется строковое выражение - "http://ссылка к кешируемому изображению" ???

куда смотреть?

 

или по другому скажу... как вытащить голую ссылку на кешируемую фотографию типа http://ссылка к кешируемому изображению, чтобы потом можно было оборачивать как угодно и чем угодно!!!

хочу добавить параметр который возвращал бы то, что мне нужно


  • 0

#4 SmetDenis

SmetDenis

Отправлено 14 August 2014 - 10:55   Лучший Ответ

Вообще ресайз происходит с помощью хелпера

media\zoo\applications\jbuniversal\framework\helpers\jbimage.php
Методы resize и getUrl
Не советую их менять.


Думаю более простой вариант - это добавить свой шаблон в JBImage
Создаете файл
jbuniversal\elements\jbimage\tmpl\jbimage-url.php
xyy_200x0.png

В файле добавьте
jbuniversal\elements\jbimage\jbimage.xml
9hz_200x0.png
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 myjob495

myjob495

Отправлено 14 August 2014 - 11:12

День добрый, Денис.
Я так и сделал, создал дополнительный шаблон.... но не могу добиться чтобы урл выводился в нужном формате.... ок доберусь до компа отпишу код, который у меня.
  • 0

#6 SmetDenis

SmetDenis

Отправлено 14 August 2014 - 11:15

ок доберусь до компа отпишу код, который у меня.

Да, это облегчит понимание
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 myjob495

myjob495

Отправлено 14 August 2014 - 12:09

ооооо....  сам себе жизнь усложнил.....

я в файле шаблона прописал переменную

 

echo  $imageBg;

 

а в файле элемента, пытался ей присвоить значение

                  if ($image && $layout = $this->getLayout('jbimage-' . $template . '.php')) {
            return $this->renderLayout($layout, array(
                    'imageAttrs' => $this->_buildAttrs(array(
                            'class'  => 'jbimage',
                            'alt'    => $alt,
                            'title'  => $title,
                            'src'    => $image->url,
                            'width'  => $image->width,
                            'height' => $image->height,
                        )),
                    'linkAttrs'  => $this->_buildAttrs(array(
                            'class'  => 'jbimage-link ' . $appendClass,
                            'title'  => $title,
                            'href'   => $url,
                            'rel'    => $rel,
                            'target' => $target,
                            'id'     => uniqid('jbimage-link-'),
                        )),
                    'imageBg' => $this->_buildAttrs(array(
                            'src'   => $image->url,
                        )),                        
                        
                    'link'       => $url,
                    'image'      => $image,
                )
            );
        }

и получал то, что получал... а все проще оказалось )))

 

сам себе враг....

 

Денис, СПАСИБО!!!!


  • 0




Click to return to top of page in style!