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


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

[Рецепт] Подпись к фото категории

category alt

Лучший Ответ CB9TOIIIA , 08 February 2018 - 07:42

В общем тут манагер возмутился, а почему он не учитывает модуль?! JBZoo category list.

 

Главная построена модулем, поэтому пришлось править.

/modules/mod_jbzoo_category

Нас интересует helper.php и в tmpl (ваш шаблон вывода).

 

В хелпер вносим правки (примерно 70 строка):

                $currentCat = array(
                    'active_class'  => ($curCatId == $category->id) ? 'category-active' : '',
                    'cat_link'      => $catUrl,
                    'category_name' => $category->name,
                    'custom_catid'  => $category->id,
                    'params'        => $category->params,
                    'item_count'    => null,
                    'desc'          => null,
                    'image'         => null,
                    'items'         => array(),
                );

Важные строки:

                    'custom_catid'  => $category->id,
                    'params'        => $category->params,

Модуль теперь знает id (вдруг понадобится) и парамс - где хранится информация об авторе (альт) и другое.

 

Далее в шаблоне делаем обращение:

                    <?php if (!empty($category['image'])): ?>
                        <div class="jbcategory-image align-<?php echo $params->get('category_image_align', 'left') ?>">
                            <a href="<?php echo $category['cat_link'] ?>"
                               title="<?php echo $category['category_name'] ?>"><?php echo str_replace('src=','alt="'.$category['params']['metadata.author'].'" src=',$category['image']) ?></a>
                        </div>
                    <?php endif; ?>

Сделал обычной заменой str_replace - просто и работает  8)

Перейти к сообщению


В теме одно сообщение

#1 CB9TOIIIA

CB9TOIIIA

Отправлено 06 February 2018 - 07:59

Всем привет. В общем клиенту уже прожужали, что alt очень важен для фото - ну хозяин барин. 
Задача сделать alt к фото страницы категории.
 
Пошел простым путем, т.к. есть поле Автор - но оно не используется, просто воспользуюсь им.
 
zV1Mc1.png A4oscK.png
 
Путь:

/media/zoo/applications/jbuniversal/templates/catalog/renderer/category/

Ну и код:
 

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


$this->app->jbdebug->mark('layout::category::start');

// set vars
$category = $vars['object'];
// $primary_category_id = $this->_item->getPrimarycategory()->id;

$parebt_cat =  $category->id;
$parentcategory = $this->app->table->category->get($parebt_cat);


$childrens = $category->getChildren($parebt_cat);


// dump($category,0,'category');
$title = $this->app->string->trim($vars['params']->get('content.category_title', ''));
$subTitle = $this->app->string->trim($vars['params']->get('content.category_subtitle', ''));
$image = $this->app->jbimage->get('category_image', $vars['params']);

$title = $title ? $title : $category->name;



if ((int)$vars['params']->get('template.category_show', 1)) : ?>
    <div class="category rborder alias-<?php echo $category->alias; ?>">

        <?php if ((int)$vars['params']->get('template.category_title_show', 1)) : ?>
            <h1 class="title"><?php echo $title; ?></h1>
        <?php endif; ?>



        <?php if ((int)$vars['params']->get('template.category_subtitle', 1) && !empty($subTitle)) : ?>
            <h2 class="subtitle"><?php echo $subTitle; ?></h2>
        <?php endif; ?>


        <?php if ((int)$vars['params']->get('template.category_image', 1) && $image['src']) : ?>
            <div class="image-full align-<?php echo $vars['params']->get('template.category_image_align', 'left'); ?>">
                <img src="<?php echo $image['src']; ?>" <?php echo $image['width_height']; ?>
                     title="<?php echo $category->name; ?>" alt="<?php echo $category->name; ?>"/>
            </div>
        <?php endif; ?>



        <?php if ((int)$vars['params']->get('template.category_text', 1) && $category->description) : ?>
            <div class="description-full"><?php echo $category->getText($category->description); ?></div>
        <?php endif; ?>


        <?php echo JBZOO_CLR; ?>
    </div>

<?php else: ?>

    <div class="category alias-<?php echo $category->alias; ?>">
        <?php if ((int)$vars['params']->get('template.category_title_show', 1)) : ?>
            <h1 class="title"><?php echo $title; ?></h1>
        <?php endif; ?>
    </div>

<?php endif; ?>

<?php 

    if (strlen($category->description) > 10) {
        if (empty($childrens)) {
    
            if (strlen($vars['params']->get('content.category_teaser_text', '')) > 10) : ?>
            <div class="description-teaser">
                <?php echo $vars['params']->get('content.category_teaser_text', ''); ?>
            </div>
            <?php    endif; 

        }
        else {
            echo '<div class="maincategoryjbzoo">'.$category->description.'</div>';
        }
    } 

?>

<?php

// dump($childrens,0,'category');

//hack


$width  = 250;
$height = 200;

    foreach ($childrens as $parentCateg) {
        $thumbimg = $this->app->jbimage->resize($parentCateg->params->get('content.category_image'), $width, $height);
        $urlCat = $this->app->route->category($parentCateg);
        echo "<div class='podcat parent{$parentCateg->alias}'><a href='{$urlCat}'>$parentCateg->name</a>";
        if (($parentCateg->params->get('content.category_image'))) {
            echo '<div class="catimagejbzoo"><a href='.$urlCat.'><img src="'.$thumbimg->rel.'" alt="'.$parentCateg->params->get('metadata.author').'" ></a></div>';
        }
        
        if (strlen($parentCateg->description) > 10) {
            echo '<div class="maincategoryjbzoo">'.$parentCateg->description.'</div>';
        }

        echo '<div class="gotocategoryjbzoo"><a class="btn btn-default" href='.$urlCat.'>Вся продукция</a></div>';

        echo "</div>";
        
}


$this->app->jbdebug->mark('layout::category::finish');

 
Важное:

$parentCateg->params->get('metadata.author');

Переопределил константы: 
 
lPTYDB.png
 
Готовый вид:
 

7rvHv7.png
 
 
Сайт:

JGHghJ.png
 

 

Задача выполнена :)


  • 4

#2 CB9TOIIIA

CB9TOIIIA

Отправлено 08 February 2018 - 07:42   Лучший Ответ

В общем тут манагер возмутился, а почему он не учитывает модуль?! JBZoo category list.

 

Главная построена модулем, поэтому пришлось править.

/modules/mod_jbzoo_category

Нас интересует helper.php и в tmpl (ваш шаблон вывода).

 

В хелпер вносим правки (примерно 70 строка):

                $currentCat = array(
                    'active_class'  => ($curCatId == $category->id) ? 'category-active' : '',
                    'cat_link'      => $catUrl,
                    'category_name' => $category->name,
                    'custom_catid'  => $category->id,
                    'params'        => $category->params,
                    'item_count'    => null,
                    'desc'          => null,
                    'image'         => null,
                    'items'         => array(),
                );

Важные строки:

                    'custom_catid'  => $category->id,
                    'params'        => $category->params,

Модуль теперь знает id (вдруг понадобится) и парамс - где хранится информация об авторе (альт) и другое.

 

Далее в шаблоне делаем обращение:

                    <?php if (!empty($category['image'])): ?>
                        <div class="jbcategory-image align-<?php echo $params->get('category_image_align', 'left') ?>">
                            <a href="<?php echo $category['cat_link'] ?>"
                               title="<?php echo $category['category_name'] ?>"><?php echo str_replace('src=','alt="'.$category['params']['metadata.author'].'" src=',$category['image']) ?></a>
                        </div>
                    <?php endif; ?>

Сделал обычной заменой str_replace - просто и работает  8)


  • 1





Темы с аналогичным тегами category, alt

Click to return to top of page in style!