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


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

Цена не водится в сравнении если шаблон 'default' элемента цены пуст


Сообщений в теме: 8

#1 Sagorou

Sagorou

Отправлено 05 January 2016 - 11:08

Столкнулся с проблемой того, что не отображалась цена в сравнении. Сделал для сравнения отдельный файл шаблона по адресу:

\media\zoo\applications\jbuniversal\templates\<TMPL_NAME>\templates-system\renderer\jbprice\compare.php

указал его как шаблон для вывода цены в шаблоне 'compare' и лососнул тунца. При выводе в сравнение элемент проверяется на пустоту, и jbprice всегда проверяет на пустоту шаблон 'default' а не тот, который указан для вывода

\media\zoo\applications\jbuniversal\elements\jbprice.php
/**
 * Check if elements value is set
 * @param array|AppData $params
 * @return bool
 */
public function hasValue($params = array())
{
	$params   = new AppData($params);
	$template = $params->get('template', 'default');

	$config = $this->setTemplate($template)->getParameters($template);

	return !empty($config);
}

Приходится в 'default' класть какой-нибудь элемент, чтобы просто проверка прошла, хотя отображается тот шаблон который надо.

 

Joomla: 3.4.8 JBZoo: 2.2.4 Pro rev3086 Zoo: 3.3.14


  • 1

#2 tapakan

tapakan

Отправлено 06 January 2016 - 17:29

В настройках шаблона материала, у элемента цены какой шаблон указан?

6ml7_200x0.png

o3d7_200x0.png


  • 0

#3 Sagorou

Sagorou

Отправлено 07 January 2016 - 11:07

В настройках шаблона материала, у элемента цены какой шаблон указан?

6ml7_200x0.png

o3d7_200x0.png

Как я писал я создал отдельный шаблон для цены - он и указан (результат один и тот же с любым из шаблонов)

Прикрепленный файл  compare.png   29.13К   0 Количество загрузок:Прикрепленный файл  compare1.png   32.54К   0 Количество загрузок:

 

Пока в 'default' не поместить какой-нибудь из элементов, например артикул, в сравнении цена вообще никак не выводится. Прикрепленный файл  deafult1.png   27.64К   0 Количество загрузок:

 

Как только в 'default' помещаешь что угодно - начинает выводиться нужный шаблон. В моем случае это 'compare'.


Да, и названия позиций шаблона в JBPrice не подхватываются из positions.xml


  • 0

#4 SmetDenis

SmetDenis

Отправлено 12 January 2016 - 13:00

$template = $params->get('template', 'default');

 

Эта строчка говорит что берется значение template, если он не существует, то берется "default".

В ней нет ошибки.

 

-------

У меня  получилось использовать шаблон отдельный шаблон compare без проблем

 

Как сделал.

1. Сделал копию defatult.php и назвал её compare.php

2. В файле media\zoo\applications\jbuniversal\templates-system\renderer\jbprice\positions.xml сделал копию блока и пометил её как compare

k619_200x0.png

 

 

Напомнил в панели управления.

n1f3_200x0.png

 

 

Смотрю результат

y90j_200x0.png

 

 

Скорее всего (ставлю на первые два пункта)

 - вы правите не тот position.xml

 - не правильно объявили тег positions в xml

 - не вывели renderPosition с нужными названиями позиций в compare.php

 

Покажите содержимое файлов - шаблона и с позициями xml


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


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


#5 Sagorou

Sagorou

Отправлено 12 January 2016 - 15:43

Покажите содержимое файлов - шаблона и с позициями xml

 

media\zoo\applications\jbuniversal\templates\o2\templates-system\renderer\jbprice\positions.xml

<?xml version="1.0" encoding="utf-8"?>
<!--
    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
-->
<renderer>

    <positions layout="default">
        <position name="list">List</position>
    </positions>

    <positions layout="teaser">
        <position name="availability">Наличие</position>
        <position name="price-before">Цена до</position>
        <position name="price-after">Цена после</position>
        <position name="buy-button">Кнопка покупки</position>
        <position name="list">List</position>
    </positions>

    <positions layout="teaser-price">
        <position name="availability">Наличие</position>
        <position name="price-before">Цена до</position>
        <position name="price-after">Цена после</position>
        <position name="buy-button">Кнопка покупки</position>
        <position name="list">List</position>
    </positions>

    <positions layout="full">
        <position name="price-before">Цена до</position>
        <position name="price-after">Цена после</position>
    </positions>
    
    <positions layout="compare">
        <position name="price-before">Цена до</position>
        <position name="price-after">Цена после</position>
        <position name="buy-button">Купить</position>
    </positions>

    <positions layout="full-button">
        <position name="buy-button">Кнопка купить</position>
        <position name="availability">Наличие</position>
    </positions>
    
    <positions layout="full-buy-button">
        <position name="buy-button">Кнопка купить</position>
    </positions>

    <positions layout="modal">
        <position name="availability">Наличие</position>
        <position name="price-before">Цена до</position>
        <position name="price-after">Цена после</position>
        <position name="count">Кол-во</position>
        <position name="buy-button">Кнопка покупки</position>
        <position name="list">List</position>
    </positions>

    <positions layout="table">
        <position name="list">List</position>
    </positions>

    <positions layout="list">
        <position name="list">List</position>
    </positions>

</renderer>

media\zoo\applications\jbuniversal\templates\o2\templates-system\renderer\jbprice\compare.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       Alexander Oganov <t_tapak@yahoo.com>
 */

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

<div class="prices__price">
    <div class="prices__price-before_compare"><?php echo $this->renderPosition('price-before'); ?></div>
    <div class="prices__price-after_compare"><?php echo $this->renderPosition('price-after'); ?></div>
    <div class="prices__buy-button_compare"><?php echo $this->renderPosition('buy-button'); ?></div>
</div>

  • 0

#6 SmetDenis

SmetDenis

Отправлено 18 January 2016 - 12:23

Здравствуйте,

Посмотрите пожалуйста на мой путь до xml файла и на ваш.

media\zoo\applications\jbuniversal\templates-system\renderer\jbprice\positions.xml


media\zoo\applications\jbuniversal\templates\o2\templates-system\renderer\jbprice\positions.xml


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


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


#7 Sagorou

Sagorou

Отправлено 19 January 2016 - 11:31

Здравствуйте,

Посмотрите пожалуйста на мой путь до xml файла и на ваш.



Ошибка не в JBZoo.

 

Вы предлагаете править исходники напрямую, чтобы при обновлении все затерлось, хотя идеология joomla подразумевает работу шаблонизатора, и если делать переопределение шаблонов вывода jbprice в шаблоне приложения zoo они замечательно работают, и позиции в positions.xml замечательно определяются, но их названия в админке не подхватываются - берутся просто названия позиций.

 

Баг с выводом цены в сравнении если шаблон 'default' элемента цены пуст все еще актуален


  • 0

#8 DegiVasya

DegiVasya

Отправлено 06 February 2019 - 09:33

Тема актуальна. Цена появилась только когда вставил элемент в default.



#9 mmth

mmth

Отправлено 09 February 2019 - 11:36

Тема актуальна. Цена появилась только когда вставил элемент в default.

Скорее всего (ставлю на первые два пункта)  - вы правите не тот position.xml  - не правильно объявили тег positions в xml  - не вывели renderPosition с нужными названиями позиций в compare.php   Покажите содержимое файлов - шаблона и с позициями xml
 предоставьте данные который указывал Денис, вероятно вы совершили одну из перечисленных ошибок

  • 0




Click to return to top of page in style!