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


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

Вывод названия item'а и категории в изображении тизера

тизер изображение title

Лучший Ответ Cheren-dow , 27 June 2014 - 13:52

guardlinkweb, доброго времени суток. Вот пример, я это сделал в шаблоне Элемента JBImage - ссылка на материал. Откройте файл

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

И замените следующим содержимом

<?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');

$item = $this->getItem();
$categoryName = $item->getPrimarycategory()->name;

echo '<div class="effect4">' .
        '<div class="overlay">' .
            '<div class="overlay_container">' .
                '<div class="overlay_content">' .
                    '<h3>' . $item->name . '</h3>' . // Название материала
                    '<p>' . $categoryName .  '</p>' . // Название Категории
                '</div>' .
            '</div>';
            // Выводим картинку
            if ($link) {
                echo '<a ' . $linkAttrs . '><img ' . $imageAttrs . ' /></a> ' . "\n";
            } else {
                echo '<img ' . $imageAttrs . ' /> ' . "\n";
            }
    echo '</div>';
echo  '</div>';

Версту блоков сделал примерную - думаю тут не составит труда подогнать под нужную

 

 

 

Если вы используете другой шаблон, то точно так же по аналогии. В переменную получаете данные о материале

$item = $this->getItem();

Выводите в нужном месте название

echo $item->name;

Вывести в нужном месте название категории можно с помощью

echo $item->getPrimarycategory()->name;
Перейти к сообщению


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

#1 guardlinkweb

guardlinkweb

Отправлено 25 June 2014 - 21:39

Доброго времени суток.

 

Подскажите, пожалуйста, можно ли выводить название (title) и категорию item'а (продукта например) в превьюшке тизера при наведении на него (желательно используя стандартный вывод изображения в тизере от ZOO, а не JBZoo Image... но если есть решение для JBZoo Image - тоже неплохо будет)?

 

Более понятный пример тут: http://showcase.balb...ension/6gallery

 

В целом, хотелось бы максимально приблизиться к виду, как в вышеуказанном модуле 6gallery (жаль, что это у них только модуль...).

 

В идеале хотелось бы получить следующее:

1. Вывод названия и категории продукта (item'а) при наведении на превью изображение тизера с эффектом затемнения (сам эффект в ZOO вроде как есть - WK Spotlight, но вот в JBZoo Image почему-то отсутствует...).

2. Вывод под названием -  иконку и надпись "детали" (опять же, в стандартном ZOO есть иконка лупы при эффекте затемнения Spotlight).

3. Эффект увеличения изображения в тизере (вместе с затемнением) - это наверное несложно прикрутить к эффекту затемнения из widgetkit'а (spotlight) добавив transition и transform.

 

Основная задача - первый пункт. Понимаю, что где-то просто нужно дописать код, выводящий title и категорию... но не знаю какой код и куда дописать :)

 

Желательно это сделать для обычного вывода изображения нативными средствами ZOO.

 

Буду багодарен за любую помощь и советы.


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 26 June 2014 - 20:39

guardlinkweb, доброго времени суток. Для начала я бы вам советовал ознакомится с API. Что бы получить данные о материале в шаблоне вам необходимо использовать переменную $item, через var_dump посмотрите что в ней находится и выводите нужную информацию.

 

Остальные ваши вопросы это дело верстки, если вы возьмете стили с вашего примера вам останется в нужном элементе, в шаблонее ее подправить.


Сообщение отредактировал Cheren-dow: 26 June 2014 - 20:39

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

#3 guardlinkweb

guardlinkweb

Отправлено 27 June 2014 - 13:22

guardlinkweb, доброго времени суток. Для начала я бы вам советовал ознакомится с API. Что бы получить данные о материале в шаблоне вам необходимо использовать переменную $item, через var_dump посмотрите что в ней находится и выводите нужную информацию.

 

Остальные ваши вопросы это дело верстки, если вы возьмете стили с вашего примера вам останется в нужном элементе, в шаблонее ее подправить.

 

Cheren-dow, спасибо за ответ.

 

Глянул страницу с API, где в третьей строчке написано "Предупрежу, что если вы не знаете как пользоваться PHP, то статья явно не для вас, дальше можно не читать." - это наверное про меня.

 

По 2 и 3 пунктам у меня думаю сложностей не возникнет. А вот с PHP - пробелы...

 

Если не сочтете за наглость, то буду благодарен, если просто укажите часть PHP кода (которую можно обернуть в DIV с классом в последствии), которая отвечает за вывод заголовка айтема и категории и подскажите куда это нужно вставить, что бы отображалось при наведении на изображение в тизере стандартного вывода изображения в ZOO.

 

Надеюсь, это не сложная задача, но в любом случаи - спасибо Вам за поддержку.


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 27 June 2014 - 13:52   Лучший Ответ

guardlinkweb, доброго времени суток. Вот пример, я это сделал в шаблоне Элемента JBImage - ссылка на материал. Откройте файл

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

И замените следующим содержимом

<?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');

$item = $this->getItem();
$categoryName = $item->getPrimarycategory()->name;

echo '<div class="effect4">' .
        '<div class="overlay">' .
            '<div class="overlay_container">' .
                '<div class="overlay_content">' .
                    '<h3>' . $item->name . '</h3>' . // Название материала
                    '<p>' . $categoryName .  '</p>' . // Название Категории
                '</div>' .
            '</div>';
            // Выводим картинку
            if ($link) {
                echo '<a ' . $linkAttrs . '><img ' . $imageAttrs . ' /></a> ' . "\n";
            } else {
                echo '<img ' . $imageAttrs . ' /> ' . "\n";
            }
    echo '</div>';
echo  '</div>';

Версту блоков сделал примерную - думаю тут не составит труда подогнать под нужную

 

 

 

Если вы используете другой шаблон, то точно так же по аналогии. В переменную получаете данные о материале

$item = $this->getItem();

Выводите в нужном месте название

echo $item->name;

Вывести в нужном месте название категории можно с помощью

echo $item->getPrimarycategory()->name;

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

#5 guardlinkweb

guardlinkweb

Отправлено 27 June 2014 - 16:05

Cheren-dow, добрый день и спасибо за помощь.

 

Для элемента JBimage - всё получилось.

Попробовал проделать то же с стандартным элементом image zoo - не выводится.

 

Попробовал редактировать файл

сайт\media\zoo\elements\image\tmpl\image.php 

- ноль реакции. Причём можно вообще удалить весь код из этого файла (и даже саму папку tmpl) - ничего не проиcходит, изображение в тизере так же выводится, как будто этот файл вообще не отвечает за формирование. Только удаление папки

сайт\media\zoo\elements\image 

целиком - приводит к ошибке (так проверял - эта или не эта папка отвечает за вывод изображения).


Сообщение отредактировал guardlinkweb: 27 June 2014 - 16:06

  • 0

#6 SmetDenis

SmetDenis

Отправлено 27 June 2014 - 16:28

Добрый день,

 

Извините, а зачем вам элемент image, если есть JBImage ?


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



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


#7 guardlinkweb

guardlinkweb

Отправлено 27 June 2014 - 17:16

Добрый день,

 

Извините, а зачем вам элемент image, если есть JBImage ?

 

Добрый.

 

Стандарный элемент image связан с widgetkit (тот же Spotlight), а в JBImage его применить почему-то нельзя. Хотя конечно можно и к JBImage через CSS прикрутить аналогичный эффект. Но вот решил сначала пойти путем стандартного image эллемента.

 

Сейчас уже просто стало интересно, что за магия с этим стандартным image эллементом (почему нет никакой реакции на файлы в tmpl) :)


  • 0

#8 guardlinkweb

guardlinkweb

Отправлено 08 July 2014 - 16:00

Добрый день.

 

Понимаю, что это решение не совсем в компитенции поддержки JBZoo (т.к. является частью ядра Zoo), но буду благодарен, если подскажите решение.


  • 0

#9 Cheren-dow

Cheren-dow

Отправлено 08 July 2014 - 17:35

guardlinkweb, что конкретно у вас не получается? Вы пробовали изменить шаблон вывода элемента JbImage ? Писал выше простой пример кастомизации. 


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

#10 guardlinkweb

guardlinkweb

Отправлено 08 July 2014 - 18:52

guardlinkweb, что конкретно у вас не получается? Вы пробовали изменить шаблон вывода элемента JbImage ? Писал выше простой пример кастомизации. 

 

С JBZoo всё получилось, а вот с стандартным элементом image zoo - нет.

 

Попробовал редактировать файл "сайт\media\zoo\elements\image\tmpl\image.php" - ноль реакции. Причём можно вообще удалить весь код из этого файла (и даже саму папку tmpl) - ничего не проиcходит, изображение в тизере так же выводится, как будто этот файл вообще не отвечает за формирование.

 

Только удаление папки "сайт\media\zoo\elements\image" целиком - приводит к ошибке (так проверял - эта или не эта папка отвечает за вывод изображения).


  • 0





Темы с аналогичным тегами тизер, изображение, title

Click to return to top of page in style!