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


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

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


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

#1 Sagorou

Sagorou

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

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

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

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

  1. \media\zoo\applications\jbuniversal\elements\jbprice.php
  1. /**
  2. * Check if elements value is set
  3. * @param array|AppData $params
  4. * @return bool
  5. */
  6. public function hasValue($params = array())
  7. {
  8. $params = new AppData($params);
  9. $template = $params->get('template', 'default');
  10.  
  11. $config = $this->setTemplate($template)->getParameters($template);
  12.  
  13. return !empty($config);
  14. }
  15.  

Приходится в '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

tapakan сказал(а) 06 Янв 2016 - 16:29:

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

6ml7_200x0.png

o3d7_200x0.png

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

compare.png compare1.png

 

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

 

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


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


  • 0

#4 SmetDenis

SmetDenis

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

Sagorou сказал(а) 05 Янв 2016 - 10:08:

$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

SmetDenis сказал(а) 12 Янв 2016 - 12:00:

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

 

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

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
  4.  
  5. @package jbzoo
  6. @version 2.x Pro
  7. @author JBZoo App http://jbzoo.com
  8. @copyright Copyright (C) JBZoo.com, All rights reserved.
  9. @license http://jbzoo.com/license-pro.php JBZoo Licence
  10. -->
  11. <renderer>
  12.  
  13. <positions layout="default">
  14. <position name="list">List</position>
  15. </positions>
  16.  
  17. <positions layout="teaser">
  18. <position name="availability">Наличие</position>
  19. <position name="price-before">Цена до</position>
  20. <position name="price-after">Цена после</position>
  21. <position name="buy-button">Кнопка покупки</position>
  22. <position name="list">List</position>
  23. </positions>
  24.  
  25. <positions layout="teaser-price">
  26. <position name="availability">Наличие</position>
  27. <position name="price-before">Цена до</position>
  28. <position name="price-after">Цена после</position>
  29. <position name="buy-button">Кнопка покупки</position>
  30. <position name="list">List</position>
  31. </positions>
  32.  
  33. <positions layout="full">
  34. <position name="price-before">Цена до</position>
  35. <position name="price-after">Цена после</position>
  36. </positions>
  37. <positions layout="compare">
  38. <position name="price-before">Цена до</position>
  39. <position name="price-after">Цена после</position>
  40. <position name="buy-button">Купить</position>
  41. </positions>
  42.  
  43. <positions layout="full-button">
  44. <position name="buy-button">Кнопка купить</position>
  45. <position name="availability">Наличие</position>
  46. </positions>
  47. <positions layout="full-buy-button">
  48. <position name="buy-button">Кнопка купить</position>
  49. </positions>
  50.  
  51. <positions layout="modal">
  52. <position name="availability">Наличие</position>
  53. <position name="price-before">Цена до</position>
  54. <position name="price-after">Цена после</position>
  55. <position name="count">Кол-во</position>
  56. <position name="buy-button">Кнопка покупки</position>
  57. <position name="list">List</position>
  58. </positions>
  59.  
  60. <positions layout="table">
  61. <position name="list">List</position>
  62. </positions>
  63.  
  64. <positions layout="list">
  65. <position name="list">List</position>
  66. </positions>
  67.  
  68. </renderer>

media\zoo\applications\jbuniversal\templates\o2\templates-system\renderer\jbprice\compare.php

  1. <?php
  2. /**
  3. * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
  4. * @package jbzoo
  5. * @version 2.x Pro
  6. * @author JBZoo App http://jbzoo.com
  7. * @copyright Copyright (C) JBZoo.com, All rights reserved.
  8. * @license http://jbzoo.com/license-pro.php JBZoo Licence
  9. * @coder Alexander Oganov <t_tapak@yahoo.com>
  10. */
  11.  
  12. // no direct access
  13. defined('_JEXEC') or die('Restricted access');
  14. ?>
  15.  
  16. <div class="prices__price">
  17. <div class="prices__price-before_compare"><?php echo $this->renderPosition('price-before'); ?></div>
  18. <div class="prices__price-after_compare"><?php echo $this->renderPosition('price-after'); ?></div>
  19. <div class="prices__buy-button_compare"><?php echo $this->renderPosition('buy-button'); ?></div>
  20. </div>

  • 0

#6 SmetDenis

SmetDenis

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

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

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

SmetDenis сказал(а) 12 Янв 2016 - 12:00:

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


Sagorou сказал(а) 12 Янв 2016 - 14:43:

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

SmetDenis сказал(а) 18 Янв 2016 - 11:23:

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

Посмотрите пожалуйста на мой путь до 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

DegiVasya сказал(а) 06 Фев 2019 - 08:33:

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

SmetDenis сказал(а) 12 Янв 2016 - 12:00:

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

  • 0




Click to return to top of page in style!