Такс, в тдс делаем так:
$oXmlCart = Core::factory('Core_Xml_Entity')->name('cart');
$aCart_Items = Shop_Cart_Controller::instance()->getAll($Shop_Controller_Show->getEntity());
foreach ($aCart_Items as $oCart_Item) {
$oXmlCart->addEntity(
Core::factory('Core_Xml_Entity')
->name('item')
->addAttribute('id', $oCart_Item->shop_item_id)
->addAttribute('quantity', $oCart_Item->quantity)
);
}
$Shop_Controller_Show
->addEntity($oXmlCart)
->xsl(Core_Entity::factory('Xsl')->getByName($xslTemplate))
->show();
А в xsl делаем примерно так:
<xsl:template match="shop_item">
<div class="product-group__item">
<xsl:value-of select="name"/>
</div>
<xsl:variable name="shop_item_id" select="@id"/>
<xsl:choose>
<xsl:when test="count(/shop/cart/item[@id = $shop_item_id])">
<h1>
<xsl:text>В корзине уже</xsl:text>
<xsl:value-of select="/shop/cart/item[@id = $shop_item_id]/@quantity"/>
</h1>
</xsl:when>
<xsl:otherwise>
<h4>Положить в корзину</h4>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Какт так)