Jump to content


Photo
- - - - -

Подпись к картинке в JBImage


Best Answer Cheren-dow , 21 March 2014 - 09:48

Evgen, доброго времени суток.

Откройте файл

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

внутри метода _render 

public function _render($params = array()){
.....
}

найдите следующие строки

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-'),
            )),
            'link'       => $url,
            'image'      => $image
        )
    );
}

и замените их на 

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-'),
            )),
            'link'       => $url,
            'image'      => $image,
            'title'      => $title
        )
    );
}

После этого откройте файл шаблона, тот который вы выбрали в настройках элемента. Они находятся в папке

сайт\media\zoo\applications\jbuniversal\elements\jbimage\tmpl

Я открыл jbimage-popup.php т.к именно его я использую. И добавил вывод title 

<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 *
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Denis Smetannikov <denis@jbzoo.com>
 */

// no direct access
defined('_JEXEC') or die('Restricted access');


App::getInstance('zoo')->jbassets->jbimagePopup();

echo '<a ' . $linkAttrs . '><img ' . $imageAttrs . ' /></a> ' . "\n";

echo $title; // выводим title материала

Теперь этот title вы можете поместить в любой тег - например DIV

Go to the full post


  • This topic is locked This topic is locked
4 replies to this topic

#1 Evgen

Evgen
  • JBZoo User (rus)
  • User rate: 0
  • posts: 10
  • topics: 5

Posted 21 March 2014 - 08:56

Коллеги, подскажите, как можно вывести подпись к картинке, скажем под ней в DIV ? По дефолту подпись выводится только в title и alt , а мне нужно именно явная подпись на странице.


  • 0

#2 Cheren-dow

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

Posted 21 March 2014 - 09:48   Best Answer

Evgen, доброго времени суток.

Откройте файл

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

внутри метода _render 

public function _render($params = array()){
.....
}

найдите следующие строки

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-'),
            )),
            'link'       => $url,
            'image'      => $image
        )
    );
}

и замените их на 

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-'),
            )),
            'link'       => $url,
            'image'      => $image,
            'title'      => $title
        )
    );
}

После этого откройте файл шаблона, тот который вы выбрали в настройках элемента. Они находятся в папке

сайт\media\zoo\applications\jbuniversal\elements\jbimage\tmpl

Я открыл jbimage-popup.php т.к именно его я использую. И добавил вывод title 

<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 *
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Denis Smetannikov <denis@jbzoo.com>
 */

// no direct access
defined('_JEXEC') or die('Restricted access');


App::getInstance('zoo')->jbassets->jbimagePopup();

echo '<a ' . $linkAttrs . '><img ' . $imageAttrs . ' /></a> ' . "\n";

echo $title; // выводим title материала

Теперь этот title вы можете поместить в любой тег - например DIV


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

#3 Evgen

Evgen
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 10
  • topics: 5

Posted 21 March 2014 - 10:03

Большое спасибо!

Так и сделал, только в отельный шаблон Popup. Для этого, кстати пришлось в jbimage.php внести правки, поменять 

} elseif ($template == 'popup') {

на 

} elseif ($template == 'popup' || $template == 'popupt' ) { //мое название нового шаблона popupt

Я правильно понимаю, что при обновлении JBZoo данные правки "полетят"?


  • 0

#4 Cheren-dow

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

Posted 21 March 2014 - 10:47

Если вы будите обновляться патчем и обновление не будет содержать изменения в данном файле тогда ни чего не полетит. Ну и наоборот.


Топик закрываем?


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

#5 Evgen

Evgen
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 10
  • topics: 5

Posted 21 March 2014 - 10:54

Да.


  • 0




Click to return to top of page in style!