User Tools

Site Tools


market:komplekt_tovarov_dlja_programmista

This is an old revision of the document!


Комплект товаров

На странице товара вместе с основным товаром покупателю предлагается купить дополнительные товары и услуги. Такие товары можно добавить к основному установив флажок. При этом происходит пересчет основной цены. При нажатии на кнопку добавления товара в корзину, в корзину попадают сразу все выбранные товары.

Инструкции

  1. Если на сайте не использованы сопутствующие товары, то используем их для комплекта. Если уже использованы, то для комплекта создаем доп. свойство типа товар.
  2. Далее в XSL шаблон МагазинТовар добавляем подшаблон для вывода комплекта. <!– Шаблон для комплекта товаров –> <xsl:template match="associated/shop_item"> <label> <xsl:choose> <xsl:when test="property_value[tag_name='radio']/value = 1"> <input type="radio" price="{price}" name="item_radio" item_id="{@id}" value="{@id}" class="associated{../../@id} associated"><xsl:if test="property_value[tag_name='default']/value = 1"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if></input> </xsl:when> <xsl:otherwise> <xsl:if test="position() != last()"><xsl:attribute name="class">hr</xsl:attribute></xsl:if> <input type="checkbox" price="{price}" item_id="{@id}" name="item_{@id}" value="{@id}" class="associated{../../@id} associated"><xsl:if test="property_value[tag_name='default']/value = 1"><xsl:attribute name="checked">checked</xsl:attribute></xsl:if></input> </xsl:otherwise> </xsl:choose> </label> </xsl:template>
  3. В подшаблон shop_item добавляем там, где нужно вывести комплект: <xsl:if test="count(associated/shop_item) &gt; 0">
    		
    		<xsl:apply-templates select="associated/shop_item"><xsl:sort select="sorting"  data-type="number"/></xsl:apply-templates>
    		<span class="hr"></span>
    		
    	</div>		
    </xsl:if>''
    - Подгоняем вывод под текущий сайт. Блоку с текущей ценой задаем ''id="mainprice"'', а также атрибут ''data-price="{format-number(price, '#####0', 'my')}"''
    - Обработчик добавления в корзину заменяем с $.addIntoCart на $.kaddIntoCart
    - Добавляем товарам доп. свойства. Эти свойства нужны для управления комплектом.
    * "Радиокнопка" с tag_name='radio'
    * "По умолчанию" с tag_name='default'
market/komplekt_tovarov_dlja_programmista.1430906350.txt.gz · Last modified: 26.06.15 в 14:55 (external edit)