передавайте xml со списком товаров в корзине
в тдс добавьте
$oShop = $Shop_Controller_Show->getEntity();
$cIncart = Core::factory('Core_Xml_Entity')->name('incart');
$oShop_Cart_Controller = Shop_Cart_Controller::instance();
$aCart = $oShop_Cart_Controller->getAll($oShop);
foreach ($aCart as $oCart)
{
$cIncart->addEntity(Core::factory('Core_Xml_Entity')->name('item')->value($oCart->shop_item_id));
}
$Shop_Controller_Show->addEntity($cIncart);
перед вызовом
$Shop_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName($xslName)
)
->itemsProperties(TRUE)
->show();
и в xsl каталога и товара
<xsl:variable name="curid" select="@id"/>
<xsl:choose>
<xsl:when test="count(/shop/incart/item[.=$curid])">
// Товар в корзине, выводим сообщение или ничего не выводим
</xsl:when>
<xsl:otherwise>
// Товар не в корзине, выводим кнопку
</xsl:otherwise>
</xsl:choose>