Опционные свойства в виде выпадающих списков с сохранением добавления товара в корзину без перезагрузки(demodizzy)

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 2.9.5

Данное решение рассмотрено на примере интернет-магазина "Современный", шаблон demodizzy.


Задача:

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

Дело было в том, что js файл, который отвечает за добавление товара в корзину без перезагрузки обращается к элементам radiobutton, которые изначально описаны в шаблоне дизайна. Если изменить radiobutton на выпадающие списки, страница будет перезагружаться.

Решение:

немного изменить basket.js(templates/demodizzy/js), а именно откорректировали функцию добавления в корзину:
Внесем в него изменения:
<xsl:template match="price" mode="discounted-price">
		<xsl:if test="original!=' ' ">

      <span style="text-decoration: line-through">  

            <xsl:value-of select="concat(@prefix, ' ', original,' ', @suffix)" /> 

      </span>
      </xsl:if>

            <xsl:value-of select="concat(@prefix, ' ', actual,' ', @suffix)" /> 
	</xsl:template>
Старая цена зачеркивается, если срабатывает условие, что original(старая цена) не пустой.
Если не прописать данное условие, то, при отключении активности скидки, рядом с обычной ценой отобразится лишний зачеркнутый суффикс "руб".