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


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

Как добавить микроразметку цены (itemprop="price")?


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

#1 andrey.koch

andrey.koch

Отправлено 02 March 2016 - 21:18

Внешнюю разметку сделал, а здесь не найду как.

Подскажите пожалуйста как и где это правильно сделать?

 

 


  • 0

#2 Sliapy

Sliapy

Отправлено 03 March 2016 - 00:15

*
Популярное сообщение!

C ценой все не так просто. Если делать микроразметку в самом элементе, то в итоге это неправильно, потому что элемент может выводиться и в модулях, и в категории, где нет остальной микроразметки типа product.

 

На одном из сайтов на 2.1.5 я делал так

 


<div class="price" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
                       <?php echo $this->renderPosition('price'); ?>
                         <span itemprop="price" content="<?php 
                                $arr = $item->getElements();
                                foreach($arr as $value){
                                    if($value->config->type == 'jbpriceadvance'){
                                        $basic = $value->getElementData()->basic;
                                        $price   = $basic['value'];
                                        break;
                                    }
                                }
                               
                                echo $price;
                            ?>"></span><meta itemprop="priceCurrency" content="usd" />
                    </div>

Суть в том, чтобы получить отдельно неформатированную цену и отдельно задать валюту.

 

В итоге получаем что-то такое 

 

n8hf_200x0.png

 

Вот здесь обуждалось как получить цену - http://forum.jbzoo.c...nu-bez-valyuty/

 

А здесь про микроразметку для цены 

 

http://forum.jbzoo.c...jbpriceadvance/

http://forum.jbzoo.c...aorg-dlya-v220/


Сообщение отредактировал Sliapy: 03 March 2016 - 01:49

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

#3 andrey.koch

andrey.koch

Отправлено 03 March 2016 - 11:20

Суть в том, чтобы получить отдельно неформатированную цену и отдельно задать валюту.

Понял, то есть попроще не получится?


  • 0

#4 Sliapy

Sliapy

Отправлено 03 March 2016 - 14:01

Я описал, как это делал у себя и привел темы с обсуждениями похожих вопросов. Под "попроще" вы имеете в виду что? Готовое решение, которое подойдет именно вам? Тогда да - не получится :)


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

#5 andrey.koch

andrey.koch

Отправлено 03 March 2016 - 15:41

Спасибо, пытаюсь вывести в шаблон media/zoo/applications/jbuniversal/templates/uikit/renderer/item/product/full.php для 220 что-то из этого

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()); // Чистое значение, которое хранит объект ?>

Чего-то не получается.

Как правильно сделать?

Вывожу echo <?php $total->plain($currency);  ?> - все рушится - остается на странице только блок с ценой перевернутый с ног на голову  :)


  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 03 March 2016 - 15:50

Вывожу echo plain($currency);  ?> - все рушится - остается на странице только блок с ценой перевернутый с ног на голову 

От куда кусок кода от Дениса?  В нем по идее выше если это шаблон материала, например Full, должно быть получение цены. Как получить цену из элемента можно узнать из рецепта.


  • 1
Изображение
 

#7 andrey.koch

andrey.koch

Отправлено 03 March 2016 - 17:15

// Получаем из материала элемент цены по его идентификатору $jbprice = $item->getElement('ELEMENT_ID');
 

 

Пробую так - что-то не-то  :) не выходит

<?php $jbprice = $item->getElement('_value');						
	echo $total->plain($currency);
?>

  • 0

#8 SmetDenis

SmetDenis

Отправлено 04 March 2016 - 14:53

Пробую так - что-то не-то   не выходит


_value - это ID элемента цены, а не элемента материала.
Нужно сначала получить элемент цены, а только потом обращаться к _value
  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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





Click to return to top of page in style!