Совместил 2 шаблона... и появляеться проблема.
Совметил xsl шаблон МагазинКорзинаКраткая и МагазинКорзина,
Но при Выборе товара пишет что карзины нету, что не так сделал?
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:template match="/cart">
<div id="little_cart">
<xsl:choose>
<!-- Магазин не найден -->
<xsl:when test="error_not_isset_shop/node()">
<p>
<b>Ошибка! Магазин с указанным идентификатором не найден!</b>
<br/>Укажите правильный код магазина!</p>
</xsl:when>
<!-- Магазин найден -->
<xsl:otherwise>
<xsl:choose>
<!-- В корзине нет ни одного элемента -->
<xsl:when test="totalquantity = 0">
<h2>Корзина пуста</h2>
<xsl:choose>
<xsl:when test="site_users_class_exists = 1 and user_id = 0">
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<!-- Вывод общих количества, веса и стоимости товаров -->
<p>
<br/>ИТОГО <b><xsl:value-of select="totalsum"/> <xsl:value-of disable-output-escaping="yes" select="shop/shop_currency/shop_currency_name"/></b></p>
<xsl:if test="totalweight > 0">
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>
<!-- Шаблон для корзины -->
<xsl:variable name="recount" select="recount"/>
<xsl:template match="/cart">
<xsl:choose>
<xsl:when test="(count_item=0) and (count_postpone_item=0)">
<!-- В корзине нет ни одного элемента -->
<p class="title">В корзине нет ни одного товара.</p>
<p>
<xsl:choose>
<xsl:when test="user_id != 0">Для оформления заказа добавьте товар в корзину.</xsl:when>
<xsl:when test="site_users_class_exists = 1">Вы не авторизированы. Если Вы зарегистрированный пользователь, данные Вашей корзины станут видны после авторизации.</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</p>
</xsl:when>
<xsl:otherwise>
<!-- Вывод корзины -->
<h1>Моя корзина</h1>
<p>Для оформления заказа, нажмите "Оформить заказ".</p>
<form action="{/cart/shop/path}cart/" name="address" method="POST">
<xsl:choose>
<xsl:when test="site_users_class_exists = 1"></xsl:when>
<xsl:otherwise>
<!-- В случае если отключен модуль пользователей сайта, запрашиваем информацию
о пользователе сайта здесь -->
<table border="0" cellspacing="0" cellpadding="2">
<tr class="shop_cart_table_title">
<td colspan="2" align="center">Данные о заказчике</td>
</tr>
<tr>
<td>Фамилия</td>
<td>
<input name="site_users_surname" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Имя</td>
<td>
<input name="site_users_name" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Отчество</td>
<td>
<input name="site_users_patronymic" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>E-mail</td>
<td>
<input name="site_users_email" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Телефон</td>
<td>
<input name="site_users_phone" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Факс</td>
<td>
<input name="site_users_fax" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Адрес</td>
<td>
<input name="site_users_address" type="text" value="" size="40"/>
</td>
</tr>
</table>
<!-- Добавляем скрытое поле с указанием подшага -->
<input name="step_1_1a" type="hidden" value="1"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="user_id != 0 or site_users_class_exists = 0">
<input name="step_1" value="Оформить заказ" type="submit" style="font-weight: bold"/>
</xsl:if>
</form>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Шаблон для товара в корзине -->
<xsl:template match="itemincart">
<tr class="shop_cart_table">
<td>
<xsl:if test="item/small_image!=''">
<img src="{item/small_image}"/>
</xsl:if>
<br/>
<a href="?action=delete_item&item_id={item/@id}">Удалить из корзины</a>
</td>
<td>
<a href="{/cart/shop/path}{item/fullpath}{item/path}/">
<xsl:value-of disable-output-escaping="yes" select="item/name"/>
</a>
<!-- Средняя оценка товара -->
<div style="float: left; margin: 20px 0px 0px 0px">
<b>Рейтинг:</b>
<br/>
<xsl:if test="item/comments/average_grade/node()">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="item/comments/average_grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="not(item/comments/average_grade/node())">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="0"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:if>
</div>
<div style="clear: both"></div>
</td>
<td style="white-space: nowrap">
<input type="text" size="3" name="{item/@id}" value="{quantity}"/> <xsl:value-of select="item/mesure" disable-output-escaping="yes"/></td>
<td style="white-space: nowrap">
<!-- Цена -->
<xsl:value-of disable-output-escaping="yes" select="item/price"/> <xsl:value-of select="item/currency" disable-output-escaping="yes"/></td>
<td style="white-space: nowrap">
<!-- Сумма -->
<xsl:value-of disable-output-escaping="yes" select="item/price * quantity"/> <xsl:value-of disable-output-escaping="yes" select="item/currency"/></td>
<td align="center">
<!-- Отложенные товары -->
<xsl:choose>
<xsl:when test="flag_postpone=1">
<input type="checkbox" name="flag_postpone{item/@id}" checked=""/>
</xsl:when>
<xsl:otherwise>
<input type="checkbox" name="flag_postpone{item/@id}"/>
</xsl:otherwise>
</xsl:choose>
</td>
<!--<td align="center"><a href="?action=delete_item&item_id={item/@id}" title="Удалить товар из корзины" alt="Удалить товар из корзины"><img src="/hostcmsfiles/images/delete.gif" /></a></td>-->
</tr>
</xsl:template>
<!-- Вывод рейтинга товара -->
<xsl:template name="show_average_grade">
<xsl:param name="grade" select="0"/>
<xsl:param name="const_grade" select="0"/>
<!-- Чтобы избежать зацикливания -->
<xsl:variable name="current_grade" select="$grade * 1"/>
<xsl:choose>
<!-- Если число целое -->
<xsl:when test="floor($current_grade) = $current_grade and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 1 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 1"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$current_grade != 0">
<img src="/hostcmsfiles/images/stars_single.gif"/>
</xsl:if>
</xsl:when>
<xsl:when test="$current_grade != 0 and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 0.5 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 0.5"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<img src="/hostcmsfiles/images/stars_half.gif"/>
</xsl:when>
<!-- Выводим серые звездочки, пока текущая позиция не дойдет то значения, увеличенного до целого -->
<xsl:otherwise>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
<img src="/hostcmsfiles/images/stars_gray.gif"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Шаблон для вывода звездочек (оценки) -->
<xsl:template name="for">
<xsl:param name="i" select="0"/>
<xsl:param name="n"/>
<input type="radio" name="shop_comment_grade" value="{$i}" id="id_shop_comment_grade_{$i}">
<xsl:if test="/shop/shop_comment_grade = $i">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
</input> 
<label for="id_shop_comment_grade_{$i}">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$i"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</label>
<br/>
<xsl:if test="$n > $i and $n > 1">
<xsl:call-template name="for">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="n" select="$n"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Склонение после числительных -->
<xsl:template name="declension">
<xsl:param name="number" select="number"/>
<!-- Именительный падеж -->
<xsl:variable name="nominative">
<xsl:text>товар</xsl:text>
</xsl:variable>
<!-- Родительный падеж, единственное число -->
<xsl:variable name="genitive_singular">
<xsl:text>товара</xsl:text>
</xsl:variable>
<xsl:variable name="genitive_plural">
<xsl:text>товаров</xsl:text>
</xsl:variable>
<xsl:variable name="last_digit">
<xsl:value-of select="$number mod 10"/>
</xsl:variable>
<xsl:variable name="last_two_digits">
<xsl:value-of select="$number mod 100"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="$last_digit = 1 and $last_two_digits != 11">
<xsl:value-of select="$nominative"/>
</xsl:when>
<xsl:when test="$last_digit = 2 and $last_two_digits != 12 or $last_digit = 3 and $last_two_digits != 13 or $last_digit = 4 and $last_two_digits != 14">
<xsl:value-of select="$genitive_singular"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$genitive_plural"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Но при Выборе товара пишет что карзины нету, что не так сделал?
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<xsl:template match="/cart">
<div id="little_cart">
<xsl:choose>
<!-- Магазин не найден -->
<xsl:when test="error_not_isset_shop/node()">
<p>
<b>Ошибка! Магазин с указанным идентификатором не найден!</b>
<br/>Укажите правильный код магазина!</p>
</xsl:when>
<!-- Магазин найден -->
<xsl:otherwise>
<xsl:choose>
<!-- В корзине нет ни одного элемента -->
<xsl:when test="totalquantity = 0">
<h2>Корзина пуста</h2>
<xsl:choose>
<xsl:when test="site_users_class_exists = 1 and user_id = 0">
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<!-- Вывод общих количества, веса и стоимости товаров -->
<p>
<br/>ИТОГО <b><xsl:value-of select="totalsum"/> <xsl:value-of disable-output-escaping="yes" select="shop/shop_currency/shop_currency_name"/></b></p>
<xsl:if test="totalweight > 0">
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>
<!-- Шаблон для корзины -->
<xsl:variable name="recount" select="recount"/>
<xsl:template match="/cart">
<xsl:choose>
<xsl:when test="(count_item=0) and (count_postpone_item=0)">
<!-- В корзине нет ни одного элемента -->
<p class="title">В корзине нет ни одного товара.</p>
<p>
<xsl:choose>
<xsl:when test="user_id != 0">Для оформления заказа добавьте товар в корзину.</xsl:when>
<xsl:when test="site_users_class_exists = 1">Вы не авторизированы. Если Вы зарегистрированный пользователь, данные Вашей корзины станут видны после авторизации.</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</p>
</xsl:when>
<xsl:otherwise>
<!-- Вывод корзины -->
<h1>Моя корзина</h1>
<p>Для оформления заказа, нажмите "Оформить заказ".</p>
<form action="{/cart/shop/path}cart/" name="address" method="POST">
<xsl:choose>
<xsl:when test="site_users_class_exists = 1"></xsl:when>
<xsl:otherwise>
<!-- В случае если отключен модуль пользователей сайта, запрашиваем информацию
о пользователе сайта здесь -->
<table border="0" cellspacing="0" cellpadding="2">
<tr class="shop_cart_table_title">
<td colspan="2" align="center">Данные о заказчике</td>
</tr>
<tr>
<td>Фамилия</td>
<td>
<input name="site_users_surname" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Имя</td>
<td>
<input name="site_users_name" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Отчество</td>
<td>
<input name="site_users_patronymic" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>E-mail</td>
<td>
<input name="site_users_email" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Телефон</td>
<td>
<input name="site_users_phone" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Факс</td>
<td>
<input name="site_users_fax" type="text" value="" size="40"/>
</td>
</tr>
<tr>
<td>Адрес</td>
<td>
<input name="site_users_address" type="text" value="" size="40"/>
</td>
</tr>
</table>
<!-- Добавляем скрытое поле с указанием подшага -->
<input name="step_1_1a" type="hidden" value="1"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="user_id != 0 or site_users_class_exists = 0">
<input name="step_1" value="Оформить заказ" type="submit" style="font-weight: bold"/>
</xsl:if>
</form>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Шаблон для товара в корзине -->
<xsl:template match="itemincart">
<tr class="shop_cart_table">
<td>
<xsl:if test="item/small_image!=''">
<img src="{item/small_image}"/>
</xsl:if>
<br/>
<a href="?action=delete_item&item_id={item/@id}">Удалить из корзины</a>
</td>
<td>
<a href="{/cart/shop/path}{item/fullpath}{item/path}/">
<xsl:value-of disable-output-escaping="yes" select="item/name"/>
</a>
<!-- Средняя оценка товара -->
<div style="float: left; margin: 20px 0px 0px 0px">
<b>Рейтинг:</b>
<br/>
<xsl:if test="item/comments/average_grade/node()">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="item/comments/average_grade"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="not(item/comments/average_grade/node())">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="0"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</xsl:if>
</div>
<div style="clear: both"></div>
</td>
<td style="white-space: nowrap">
<input type="text" size="3" name="{item/@id}" value="{quantity}"/> <xsl:value-of select="item/mesure" disable-output-escaping="yes"/></td>
<td style="white-space: nowrap">
<!-- Цена -->
<xsl:value-of disable-output-escaping="yes" select="item/price"/> <xsl:value-of select="item/currency" disable-output-escaping="yes"/></td>
<td style="white-space: nowrap">
<!-- Сумма -->
<xsl:value-of disable-output-escaping="yes" select="item/price * quantity"/> <xsl:value-of disable-output-escaping="yes" select="item/currency"/></td>
<td align="center">
<!-- Отложенные товары -->
<xsl:choose>
<xsl:when test="flag_postpone=1">
<input type="checkbox" name="flag_postpone{item/@id}" checked=""/>
</xsl:when>
<xsl:otherwise>
<input type="checkbox" name="flag_postpone{item/@id}"/>
</xsl:otherwise>
</xsl:choose>
</td>
<!--<td align="center"><a href="?action=delete_item&item_id={item/@id}" title="Удалить товар из корзины" alt="Удалить товар из корзины"><img src="/hostcmsfiles/images/delete.gif" /></a></td>-->
</tr>
</xsl:template>
<!-- Вывод рейтинга товара -->
<xsl:template name="show_average_grade">
<xsl:param name="grade" select="0"/>
<xsl:param name="const_grade" select="0"/>
<!-- Чтобы избежать зацикливания -->
<xsl:variable name="current_grade" select="$grade * 1"/>
<xsl:choose>
<!-- Если число целое -->
<xsl:when test="floor($current_grade) = $current_grade and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 1 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 1"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$current_grade != 0">
<img src="/hostcmsfiles/images/stars_single.gif"/>
</xsl:if>
</xsl:when>
<xsl:when test="$current_grade != 0 and not($const_grade > ceiling($current_grade))">
<xsl:if test="$current_grade - 0.5 > 0">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade - 0.5"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
</xsl:if>
<img src="/hostcmsfiles/images/stars_half.gif"/>
</xsl:when>
<!-- Выводим серые звездочки, пока текущая позиция не дойдет то значения, увеличенного до целого -->
<xsl:otherwise>
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$current_grade"/>
<xsl:with-param name="const_grade" select="$const_grade - 1"/>
</xsl:call-template>
<img src="/hostcmsfiles/images/stars_gray.gif"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Шаблон для вывода звездочек (оценки) -->
<xsl:template name="for">
<xsl:param name="i" select="0"/>
<xsl:param name="n"/>
<input type="radio" name="shop_comment_grade" value="{$i}" id="id_shop_comment_grade_{$i}">
<xsl:if test="/shop/shop_comment_grade = $i">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
</input> 
<label for="id_shop_comment_grade_{$i}">
<xsl:call-template name="show_average_grade">
<xsl:with-param name="grade" select="$i"/>
<xsl:with-param name="const_grade" select="5"/>
</xsl:call-template>
</label>
<br/>
<xsl:if test="$n > $i and $n > 1">
<xsl:call-template name="for">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="n" select="$n"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!-- Склонение после числительных -->
<xsl:template name="declension">
<xsl:param name="number" select="number"/>
<!-- Именительный падеж -->
<xsl:variable name="nominative">
<xsl:text>товар</xsl:text>
</xsl:variable>
<!-- Родительный падеж, единственное число -->
<xsl:variable name="genitive_singular">
<xsl:text>товара</xsl:text>
</xsl:variable>
<xsl:variable name="genitive_plural">
<xsl:text>товаров</xsl:text>
</xsl:variable>
<xsl:variable name="last_digit">
<xsl:value-of select="$number mod 10"/>
</xsl:variable>
<xsl:variable name="last_two_digits">
<xsl:value-of select="$number mod 100"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="$last_digit = 1 and $last_two_digits != 11">
<xsl:value-of select="$nominative"/>
</xsl:when>
<xsl:when test="$last_digit = 2 and $last_two_digits != 12 or $last_digit = 3 and $last_two_digits != 13 or $last_digit = 4 and $last_two_digits != 14">
<xsl:value-of select="$genitive_singular"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$genitive_plural"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
script88,
про alert() Вы задавали вопрос в соседней теме, я там отвечу
про alert() Вы задавали вопрос в соседней теме, я там отвечу
Авторизация