Согласен с Вами, Александр. А может, вообще не стоит изобретать велосипед?! Я имею в веду, что, может просто названия на кнопках менять, в зависимости от статуса наличия товара - это, чтобы макросы новые не пришлось еще напридумывать. Т.е., всё через корзину ("в наличии", "ожидается", "на заказ" - мало ли кто захочет больше 1-й шт заказать), плюс, чтобы менялись надписи - "заказ в один клик", "оформить предзаказ" и "оформить под заказ" (здесь то всплывает готовое окошко с контактами). Что-то вроде этого:
Это для заказов через корзину:
<xsl:choose>
<xsl:when test="//property[@name = 'available']/value/item/@id = '10694'">
<!--когда наличие равно "ожидается"-->
<xsl:text>Предзаказ</xsl:text>
</xsl:when>
<xsl:when test="//property[@name = 'available']/value/item/@id = '10695'">
<!--когда наличие равно "на заказ"-->
<xsl:text>Под заказ</xsl:text>
</xsl:when>
<xsl:otherwise>
<!--Иначе-->
<xsl:text>В корзину</xsl:text>
</xsl:otherwise>
</xsl:choose>
Это для быстрых заказов со всплывающим окном:
<xsl:choose>
<xsl:when test="//property[@name = 'available']/value/item/@id = '10694'">
<!--когда наличие равно "ожидается"-->
<xsl:text>Оформить предзаказ</xsl:text>
</xsl:when>
<xsl:when test="//property[@name = 'available']/value/item/@id = '10695'">
<!--когда наличие равно "на заказ"-->
<xsl:text>Оформить под заказ</xsl:text>
</xsl:when>
<xsl:otherwise>
<!--Иначе-->
<xsl:text>Заказ в один клик</xsl:text>
</xsl:otherwise>
</xsl:choose>