Микроразметка schema.org/Product

#
Микроразметка schema.org/Product
Парни подскажите как добавить и куда микроразметку schema.org/Product  в Код XSL-шаблона МагазинТоварСайт
kotov082
Модератор
#
Re: Микроразметка schema.org/Product
Просто добавляете в XSL-шаблон, не забывая, что атрибут должен иметь значения, поэтому вместо itemscope используете itemscope="itemscope" и т.п. Внизу страницы есть примеры http://schema.org/Product
#
Re: Re: Микроразметка schema.org/Product
Спасибо. А в какое место XSL шаблона добавлять? Заранее благодарю.
kotov082
Модератор
#
Re: Микроразметка schema.org/Product
kotov082,
Ваш вопрос говорит о непонимании задачи. Добавлять в те месте, где выводится так информацию, которую необходимо обрамить в микроразметку.
#
Re: Микроразметка schema.org/Product
Лови пример
<script type="application/ld+json">
         <xsl:text disable-output-escaping="yes">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "name": "</xsl:text><xsl:value-of select="name"/>   <xsl:text disable-output-escaping="yes">",
  "image": "http:</xsl:text><xsl:value-of disable-output-escaping="yes" select="/shop/http"/><xsl:value-of disable-output-escaping="yes" select="dir"/><xsl:value-of disable-output-escaping="yes" select="image_small"/><xsl:text disable-output-escaping="yes">",
  "description": "</xsl:text><xsl:value-of select="description"/>   <xsl:text disable-output-escaping="yes">",
  "mpn": "</xsl:text><xsl:value-of select="marking"/>   <xsl:text disable-output-escaping="yes">",
  "brand": {
    "@type": "Thing",
    "name": "</xsl:text><xsl:value-of disable-output-escaping="yes" select="shop_producer/name"/>   <xsl:text disable-output-escaping="yes">"
  },
  "offers": {
    "@type": "Offer",
    "priceCurrency": "RUB",
    "price": "</xsl:text><xsl:value-of select="price"/>   <xsl:text disable-output-escaping="yes">",
    "itemCondition": "http://schema.org/NewCondition",
    "availability": "</xsl:text><xsl:if test ="rest = 0">http://schema.org/PreOrder</xsl:if>               
                  <xsl:if test ="rest &lt; 0">http://schema.org/SoldOut</xsl:if>
                  <xsl:if test ="rest &gt; 0">http://schema.org/InStock</xsl:if><xsl:text disable-output-escaping="yes">",
    "seller": {
      "@type": "Organization",
      "name": "ИмяСайта"
    }
  }
}
         </xsl:text>
</script>
http://www.aiventa.ru
#
Re: Микроразметка schema.org/Product
kotov082 писал(а):
Спасибо. А в какое место XSL шаблона добавлять? Заранее благодарю.

Здесь Вам не дадут информации куда конкретно вставлять, т.к. HostCms очень гибкая система. И можете вставлять куда угодно. Если речь идет о товаре, полагаю стоит посмотреть в сторону (у вас может отличаться):  XSL-шаблоны/.../Интернет-магазин/МагазинТоварСайт..
Вот пример, но придется в нем разобраться и понять как это правильно сделать конкретно в вашем проекте

<!-- микроразметка начало -->
   <div itemscope="itemscope" itemtype="http://schema.org/Product">
      <!-- Название товара (загаловок) -->
      <h1 class="item_title" itemprop="name">
         <xsl:value-of disable-output-escaping="yes" select="name"/>
      </h1>
      <!-- Цена товара -->
      <div itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer" class="item-price">
         <!-- микроразметка цены -->
         <meta>
         <xsl:attribute name="itemprop">
            <xsl:text>price</xsl:text>
         </xsl:attribute>
            <xsl:attribute name="content">
               <xsl:value-of select="format-number(price, '#.00')"/>
            </xsl:attribute>
         </meta>
         <meta itemprop="priceCurrency" content="RUB"/>
         <!-- микроразметка цены -->
      <div>
      ...
      и так далее, размечайте все что позволяет http://schema.org/Product
      ...
   </div>
<!--микроразметка конец-->

#
Re: Микроразметка schema.org/Product
glen писал(а):

Спасибо GLEN. Я конечно не тупо скопировал, но ваш пример очень помог.
#
Re: Микроразметка schema.org/Product
В целом понятно как внедрять в XSL, но упёрся в обрамление цены...

<!-- Цена товара -->
         <xsl:if test="price != 0">
            <div id="item-{@id}">
               <div itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer" class="item-price">
                  <span itemprop="price">
                  <xsl:apply-templates select="/shop/shop_currency/code">
                     <xsl:with-param name="value" select="price" />
                  </xsl:apply-templates>
                  <xsl:text> </xsl:text>
                  </span>

В таком варианте выводит предупреждение, что "(Свойство 3 650 не является допустимым значением цены". Почему это он не понимает, что цена - это цена?
https://www.beregusha.com https://www.coffemol.ru
#
Re: Микроразметка schema.org/Product
Barbaros писал(а):
В таком варианте выводит предупреждение, что "(Свойство 3 650 не является допустимым значением цены". Почему это он не понимает, что цена - это цена?
www.beregusha.com

Сам же отвечаю. Не понимает, так как передаётся значение вместе с валютой. Но как их отделить в этой конструкции?
https://www.beregusha.com https://www.coffemol.ru
#
Re: Микроразметка schema.org/Product
Barbaros,
<div class="item-price" itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer">
<!-- ***** -->
            <meta itemprop="price" content="{price}" />
            <meta itemprop="priceCurrency" content="RUB" />
            <time itemprop="priceValidUntil" datetime="{/shop/priceValidUntil}" />
            <link itemprop="url" href="{url}" />
            <link itemprop="availability" href="http://schema.org/InStock" />
         </div>
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
Авторизация