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


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

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


Лучший Ответ 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 Перейти к сообщению


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

#1 isay777

isay777

Отправлено 28 January 2016 - 13:39

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

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

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

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

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

не вышло 

 

 


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

#2 Sliapy

Sliapy

Отправлено 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.


Сообщение отредактировал Sliapy: 28 January 2016 - 15:44

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

#3 isay777

isay777

Отправлено 28 January 2016 - 18:09

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

#4 Sliapy

Sliapy

Отправлено 28 January 2016 - 20:05

Да, это из 2.1.5.


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

#5 fiction13

fiction13

Отправлено 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;

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


Сообщение отредактировал fiction13: 29 January 2016 - 07:25

  • 3

#6 SmetDenis

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
  • 3
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#7 SmetDenis

SmetDenis

Отправлено 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

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

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

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


  • 0

#9 SmetDenis

SmetDenis

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

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

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



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


#10 isay777

isay777

Отправлено 29 January 2016 - 13:05

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




Click to return to top of page in style!