Jump to content


Photo
- - - - -

Как в шаблоне цены full-div вызвать цену без валюты


Best Answer SmetDenis , 29 January 2016 - 11:40

Объект денег с JBZoo почти волшебный.
Смотрите media\zoo\applications\jbuniversal\framework\classes\cart\jbvalue.php
 

<?php
echo $total->html($currency);
echo $total->plain($currency); // чистое значение
echo $total->noStyle($currency); // значение с учетом правил округления без валюты
echo $total->val($currency);
echo $total->cur(); // текущая валюта
print_r($total->logs()); // Для режима отладки Joomla, история изменения 
print_r($total->dump()); // Чистое значение, которое хранит объект
?>
Про волшебство тут
http://forum.jbzoo.c...?hl=jbcartvalue Go to the full post


11 replies to this topic

#1 isay777

isay777
  • JBZoo User (rus)
  • User rate: 113.4
  • posts: 1878
  • topics: 232

Posted 28 January 2016 - 13:39

Основной вопрос в заголовке темы. 

Как вытащить в шаблон цену без валюты. 

С валютой она так 

<?php echo $total->html($currency); ?>

А как бы вывести просто без валюты и без html, пытался прикрутить str_replace 

не вышло 

 

 


  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)

#2 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 28 January 2016 - 15:43

Можно так

 

                             $arr = $item->getElements();
                                foreach($arr as $value){
                                    if($value->config->type == 'jbpriceadvance'){
                                        $basic = $value->getElementData()->basic;
                                        $price   = $basic['value'];
                                        break;
                                    }
                                }
                                echo $price;

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

 

Это для шаблона full. Я не совсем, что такое full-div.


Edited by Sliapy, 28 January 2016 - 15:44.

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 isay777

isay777
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 113.4
  • posts: 1878
  • topics: 232

Posted 28 January 2016 - 18:09

Спасибо огромное сейчас попробую. Боюсь только это вариант для 2.1.5 а к 220 может не подойти.
  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)

#4 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 28 January 2016 - 20:05

Да, это из 2.1.5.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 fiction13

fiction13
  • JBZoo User (rus)
  • User rate: 272.5
  • posts: 604
  • topics: 23

Posted 29 January 2016 - 07:23

$elements = $item->getElements();
foreach($elements as $element){
    $type = $element->config->type;
    if($type == 'jbpriceplain'){
        $price = $element->get('variations.0._value.value') ? $element->get('variations.0._value.value') : 'Под заказ';
    }
}

echo $price;

Буквально делал на днях.


Edited by fiction13, 29 January 2016 - 07:25.

  • 3

#6 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 January 2016 - 11:40   Best Answer

Объект денег с JBZoo почти волшебный.
Смотрите media\zoo\applications\jbuniversal\framework\classes\cart\jbvalue.php
 
<?php
echo $total->html($currency);
echo $total->plain($currency); // чистое значение
echo $total->noStyle($currency); // значение с учетом правил округления без валюты
echo $total->val($currency);
echo $total->cur(); // текущая валюта
print_r($total->logs()); // Для режима отладки Joomla, история изменения 
print_r($total->dump()); // Чистое значение, которое хранит объект
?>
Про волшебство тут
http://forum.jbzoo.c...?hl=jbcartvalue
  • 3
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#7 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 January 2016 - 11:45

Если нужно вытащить из элемента, то делаем так.
 
// Получаем из материала элемент цены по его идентификатору
$jbprice = $item->getElement('ELEMENT_ID');
$total  = $jbprice->getList()->getTotal();
echo $total->html();
echo $total->val();
Если брать значение цены напрямую через data то не учитываются модификаторы, наценки, скидки, вариации и вообще ничего не сработает... т.е этому значению доверять нельзя. Лучше использовать API - http://forum.jbzoo.c...elementa-tceny/
  • 3
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#8 fiction13

fiction13
  • JBZoo User (rus)
  • User rate: 272.5
  • posts: 604
  • topics: 23

Posted 29 January 2016 - 11:48

Если брать значение цены напрямую через data то не учитываются модификаторы, наценки, скидки, вариации и вообще ничего не сработает... т.е этому значению доверять нельзя. Лучше использовать API

Спасибо за ссылку и разъяснения. 


  • 0

#9 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 29 January 2016 - 11:53

Спасибо за ссылку и разъяснения.

Да, думаю может пригодится для своих расширений.
Поэтому добавил чуть больше описания в свое сообщение.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#10 isay777

isay777
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 113.4
  • posts: 1878
  • topics: 232

Posted 29 January 2016 - 13:05

 
Денис а подскажи по вот этому 
print_r($total->logs()); // Для режима отладки Joomla, история изменения 
Я могу вывести это в админке где-то?
  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)




Click to return to top of page in style!