bktoys,
maximumweb,
1. Делаем копию типовой динамической страницы "Интернет-магазин".
2. Ищем в коде вызов ShowShop - их должно быть два.
3. Перед первым вызовом добавляем:
$cart_row = array();
$cart_row = $shop->GetItemsFromCart(0, $current_shop_id);
$ext_xml = '<itemincart>';
foreach ($cart_row as $id => $item) {
$ext_xml .= $shop->GetItemXml($id);
}
$ext_xml .='</itemincart>';
$ext_xml .='<totalquantity>'.count($cart_row).'</totalquantity>';
$param['external_xml'] = $ext_xml;
4. В XSL-шаблоне МагазинТовар или МагазинСписокТоваров, при выводе товара
<xsl:template match="item"
проверяем в нужном нам месте лежит ли этот товар уже в корзине:
<xsl:variable name="id" select="@id"/>
<xsl:choose>
<xsl:when test="//itemincart/item[@id = $id]">
Товар добавлен
</xsl:when>
<xsl:otherwise>
<a rel="nofollow" href="{/shop/path}cart/?action=add" onclick="Added('addincart{@id}'); AddIntoCart('{/shop/path}', {@id}, 1); return false;" class="addtocart">Добавить в корзину</a>
</xsl:otherwise>
</xsl:choose>
Заодно оно еще отдает общее количество товаров в корзине и полную информацию о каждом товаре в корзине. Удобно, например, выводить блоки типа "У вас в корзине уже находятся:" и список товаров с названиями и картинками.