Новинки магазина
mj23
16 апреля 2009 г.
а я когда вставляю вышеуказанный код (что на первой странице) в динамическую страницу у меня просто выводятся разделы инет-магазина %) или это кусочек кода?
а когда делаю то что написал kvasiliy на 2ой странице, тогда ошибка
ПРЕДУПРЕЖЕДЕНИЕ: DOMDocument::loadXML() [domdocument.loadxml]: Extra content at the end of the document in Entity, line: 329 в файле /htdocs/modules/Xsl/Xsl.class.php (строка 0)
явно чего-то не хватает
а когда делаю то что написал kvasiliy на 2ой странице, тогда ошибка
ПРЕДУПРЕЖЕДЕНИЕ: DOMDocument::loadXML() [domdocument.loadxml]: Extra content at the end of the document in Entity, line: 329 в файле /htdocs/modules/Xsl/Xsl.class.php (строка 0)
явно чего-то не хватает
natalya
17 апреля 2009 г.
mj23 писал(а):
mj23 писал(а):
я когда вставляю вышеуказанный код (что на первой странице) в динамическую страницу
- в смысле в типовую динамическую страницу? Если да, то зачем в нее вставляете? Вам же, вероятно, нужно, чтобы новые товары каким-то отдельным блоком отображались, а не при заходе в магазин? Подобный код лучше добавлять в шаблон страницы(или макет сайта).mj23 писал(а):
а когда делаю то что написал kvasiliy на 2ой странице, тогда ошибка
- в смысле подставляете название другого XSL-шаблона для вывода новинок? Приведите код XSL-шаблона "МагазинКаталогТоваровНаГлавнойСпецПред" полностью.mj23
17 апреля 2009 г.
горячие предложения я переделал под популярные товары, в идеале мне бы еще хотелось чтобы на гл странице выводилась колонка новые товары, добавленные к примеру за последние 15дн.
Только я не знаю в какие шаблоны что добавлять
вот. но я там ничего не менял поидеи.
Только я не знаю в какие шаблоны что добавлять
вот. но я там ничего не менял поидеи.
<?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="/">
<xsl:apply-templates select="/shop"/>
</xsl:template>
<!-- Шаблон для магазина -->
<xsl:template match="/shop">
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="@current_group_id"/>
<!-- Если в находимся корне - выводим название магазина -->
<!--<h1><xsl:value-of disable-output-escaping="yes" select="name" /></h1>-->
<xsl:variable name="count">1</xsl:variable>
<!-- Выводим группы магазина -->
<!--<table width="100%" border="0" cellpadding="0" cellspacing="0">
<xsl:apply-templates select="//group[@parent=0]">
<xsl:with-param name="style_font">catalog_l0</xsl:with-param>
<xsl:with-param name="style_font_sel">catalog_l0_selected</xsl:with-param>
</xsl:apply-templates>
</table>-->
<form method="get" action="./">
<!-- Выводим товары магазина -->
<xsl:if test="count(item) > 0">
<table cellspacing="0" cellpadding="0" border="0" width="100%" class="shop_table">
<!--<tr>
<td height="25px" style="border-bottom: 1px solid #dadada;"><b>Изображение</b></td>
<td style="border-bottom: 1px solid #dadada;">
<b>Наименование</b> 
</td>
<td style="border-bottom: 1px solid #dadada;">
<b>Цена</b> 
</td>
</tr>-->
<tr>
<xsl:apply-templates select="item"/>
</tr>
</table>
</xsl:if>
</form>
</xsl:template>
<!-- Шаблон для списка товаров для сравнения -->
<xsl:template match="compare_items/compare_item">
<xsl:variable name="var_compare_id" select="."/>
<tr>
<td>
<a href="{/shop/path}{compare_item_fullpath}{compare_item_path}">
<xsl:value-of disable-output-escaping="yes" select="compare_item_name"/>
</a>
</td>
<td>
<input type="checkbox" name="del_compare_id_{compare_item_id}" id="id_del_compare_id_{compare_item_id}"/>
<label for="id_del_compare_id_{compare_item_id}">Да</label>
</td>
</tr>
</xsl:template>
<!-- Шаблон для фильтра производителей -->
<xsl:template match="producerslist/producer">
<option value="{@id}">
<xsl:if test="@id = /shop/producer_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</option>
</xsl:template>
<!-- Шаблон для фильтра продавцов -->
<xsl:template match="sallers/saller">
<option value="{@id}">
<xsl:if test="@id = /shop/saller_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of select="sallers_name"/>
</option>
</xsl:template>
<!-- Шаблон для фильра по дополнительным свойствам -->
<xsl:template match="properties_for_group/property">
<td>
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<xsl:if test="property_show_kind = 1">
<!-- Отображаем поле ввода -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="@id"/></xsl:variable>
<br/>
<input type="text" name="property_id_{@id}">
<xsl:if test="/shop/*[name()=$nodename] != ''">
<xsl:attribute name="value">
<xsl:value-of disable-output-escaping="yes" select="/shop/*[name()=$nodename]"/>
</xsl:attribute>
</xsl:if>
</input>
</xsl:if>
<xsl:if test="property_show_kind = 2">
<!-- Отображаем список -->
<br/>
<select name="property_id_{@id}">
<option value="0">...</option>-->
<xsl:apply-templates select="list_items/list_item"/>
</select>
</xsl:if>
<xsl:if test="property_show_kind = 3">
<!-- Отображаем переключатели -->
<br/>
<input type="radio" name="property_id_{@id}" value="0" id="id_prop_radio_{@id}_0"></input>
<label for="id_prop_radio_{@id}_0">Любой вариант</label>
<xsl:apply-templates select="list_items/list_item"/>
</xsl:if>
<xsl:if test=" property_show_kind = 4">
<!-- Отображаем флажки -->
<xsl:apply-templates select="list_items/list_item"/>
</xsl:if>
</td>
<xsl:if test="position() mod 3 = 0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr valign="top">
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="list_items/list_item">
<xsl:if test="../../property_show_kind = 2">
<!-- Отображаем список -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<option value="{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</option>
</xsl:if>
<xsl:if test="../../property_show_kind = 3">
<!-- Отображаем переключатели -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<br/>
<input type="radio" name="property_id_{../../@id}" value="{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
</xsl:if>
<xsl:if test="../../property_show_kind = 4">
<!-- Отображаем флажки -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/>_item_id_<xsl:value-of select="@id"/></xsl:variable>
<br/>
<input type="checkbox" name="property_id_{../../@id}_item_id_{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
</xsl:if>
</xsl:template>
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:param name="style_font">catalog_l0</xsl:param>
<xsl:param name="style_font_sel">catalog_l0_selected</xsl:param>
<tr>
<td>
<xsl:variable name="current_group_id" select="/shop/ТекущаяГруппа"/>
<xsl:choose>
<xsl:when test="$current_group_id = @id or count(.//group[@id=$current_group_id])=1">
<div class="{$style_font_sel}">
<b>
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</b>
</div>
<table style="margin-left: 20px; margin-top: 0px; margin-bottom: 0px; padding-bottom: 0px" border="0">
<xsl:apply-templates select="group">
<xsl:with-param name="style_font">catalog_l1</xsl:with-param>
<xsl:with-param name="style_font_sel">catalog_l1</xsl:with-param>
</xsl:apply-templates>
</table>
</xsl:when>
<xsl:otherwise>
<div class="{$style_font}">
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</div>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:template>
<!-- Шаблон для товара -->
<xsl:template match="item">
<!-- Определяем цвет фона -->
<xsl:variable name="background_color">
<xsl:choose>
<xsl:when test="(position() + 1) mod 2 > 0">#f7f7f7</xsl:when>
<xsl:otherwise>#ffffff</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<td width="33%">
<!-- Изображения для товара, если есть -->
<xsl:if test="small_image!=''">
<a href="{/shop/path}{fullpath}{path}/">
<img src="{small_image}" align="top"/>
</a>
</xsl:if>
<!-- Название товара -->
<p class="name_product">
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</p>
<!-- Цена товара товара -->
<p class="price">
<xsl:value-of disable-output-escaping="yes" select="price"/> <xsl:value-of disable-output-escaping="yes" select="currency"/> 
<a href="{/shop/path}cart/?action=add&item_id={@id}" onclick="return AddIntoCart({/shop/path},{@id}, 1)">
<img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif"/>
</a>
</p>
<!--
<xsl:if test="price!=price_tax">
<br/>
<font color="gray">
<strike>
<xsl:value-of disable-output-escaping="yes" select="price_tax" /> <xsl:value-of disable-output-escaping="yes" select="currency" />
</strike>
</font>
</xsl:if>-->
</td>
<!-- Перевод строки после каждого 3-го элемента -->
<xsl:if test="position() mod 3 = 0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr>
</xsl:text>
</xsl:if>
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td>
<!-- Название модификации -->
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:value-of disable-output-escaping="yes" select="price"/> 
<!-- Валюта -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</td>
</tr>
</xsl:template>
<!-- Шаблон для скидки -->
<xsl:template match="discount">
<br/>
<xsl:value-of disable-output-escaping="yes" select="name"/> 
<xsl:value-of disable-output-escaping="yes" select="value"/>%</xsl:template>
<!-- ======================================================== -->
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<!-- ======================================================== -->
<xsl:template match="group" mode="goup_path">
<xsl:param name="parent_id" select="@parent"/>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:param name="parent_group_id" select="/shop/@current_group_id"/>
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent=0">
<a href="{/shop/path}">
<xsl:value-of disable-output-escaping="yes" select="/shop/name"/>
</a>
</xsl:if>
<img src="/images/arrow_path.gif" class="arrow_path"/>
<!-- ============================================================================================== -->
<!-- Если ID группы, для которой выводим список элементов, равен ID текущей группы - выводим жирным -->
<!-- ============================================================================================== -->
<xsl:if test="$parent_group_id=@id">
<a href="{/shop/path}{fullpath}">
<b>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</b>
</a>
</xsl:if>
<!-- ============================ -->
<!-- Иначе выводим обычную ссылку -->
<!-- ============================ -->
<xsl:if test="$parent_group_id!=@id">
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<!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="/">
<xsl:apply-templates select="/shop"/>
</xsl:template>
<!-- Шаблон для магазина -->
<xsl:template match="/shop">
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:variable name="parent_group_id" select="@current_group_id"/>
<!-- Если в находимся корне - выводим название магазина -->
<!--<h1><xsl:value-of disable-output-escaping="yes" select="name" /></h1>-->
<xsl:variable name="count">1</xsl:variable>
<!-- Выводим группы магазина -->
<!--<table width="100%" border="0" cellpadding="0" cellspacing="0">
<xsl:apply-templates select="//group[@parent=0]">
<xsl:with-param name="style_font">catalog_l0</xsl:with-param>
<xsl:with-param name="style_font_sel">catalog_l0_selected</xsl:with-param>
</xsl:apply-templates>
</table>-->
<form method="get" action="./">
<!-- Выводим товары магазина -->
<xsl:if test="count(item) > 0">
<table cellspacing="0" cellpadding="0" border="0" width="100%" class="shop_table">
<!--<tr>
<td height="25px" style="border-bottom: 1px solid #dadada;"><b>Изображение</b></td>
<td style="border-bottom: 1px solid #dadada;">
<b>Наименование</b> 
</td>
<td style="border-bottom: 1px solid #dadada;">
<b>Цена</b> 
</td>
</tr>-->
<tr>
<xsl:apply-templates select="item"/>
</tr>
</table>
</xsl:if>
</form>
</xsl:template>
<!-- Шаблон для списка товаров для сравнения -->
<xsl:template match="compare_items/compare_item">
<xsl:variable name="var_compare_id" select="."/>
<tr>
<td>
<a href="{/shop/path}{compare_item_fullpath}{compare_item_path}">
<xsl:value-of disable-output-escaping="yes" select="compare_item_name"/>
</a>
</td>
<td>
<input type="checkbox" name="del_compare_id_{compare_item_id}" id="id_del_compare_id_{compare_item_id}"/>
<label for="id_del_compare_id_{compare_item_id}">Да</label>
</td>
</tr>
</xsl:template>
<!-- Шаблон для фильтра производителей -->
<xsl:template match="producerslist/producer">
<option value="{@id}">
<xsl:if test="@id = /shop/producer_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</option>
</xsl:template>
<!-- Шаблон для фильтра продавцов -->
<xsl:template match="sallers/saller">
<option value="{@id}">
<xsl:if test="@id = /shop/saller_id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of select="sallers_name"/>
</option>
</xsl:template>
<!-- Шаблон для фильра по дополнительным свойствам -->
<xsl:template match="properties_for_group/property">
<td>
<xsl:value-of disable-output-escaping="yes" select="property_name"/> 
<xsl:if test="property_show_kind = 1">
<!-- Отображаем поле ввода -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="@id"/></xsl:variable>
<br/>
<input type="text" name="property_id_{@id}">
<xsl:if test="/shop/*[name()=$nodename] != ''">
<xsl:attribute name="value">
<xsl:value-of disable-output-escaping="yes" select="/shop/*[name()=$nodename]"/>
</xsl:attribute>
</xsl:if>
</input>
</xsl:if>
<xsl:if test="property_show_kind = 2">
<!-- Отображаем список -->
<br/>
<select name="property_id_{@id}">
<option value="0">...</option>-->
<xsl:apply-templates select="list_items/list_item"/>
</select>
</xsl:if>
<xsl:if test="property_show_kind = 3">
<!-- Отображаем переключатели -->
<br/>
<input type="radio" name="property_id_{@id}" value="0" id="id_prop_radio_{@id}_0"></input>
<label for="id_prop_radio_{@id}_0">Любой вариант</label>
<xsl:apply-templates select="list_items/list_item"/>
</xsl:if>
<xsl:if test=" property_show_kind = 4">
<!-- Отображаем флажки -->
<xsl:apply-templates select="list_items/list_item"/>
</xsl:if>
</td>
<xsl:if test="position() mod 3 = 0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr valign="top">
</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="list_items/list_item">
<xsl:if test="../../property_show_kind = 2">
<!-- Отображаем список -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<option value="{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="selected">
</xsl:attribute>
</xsl:if>
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</option>
</xsl:if>
<xsl:if test="../../property_show_kind = 3">
<!-- Отображаем переключатели -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/></xsl:variable>
<br/>
<input type="radio" name="property_id_{../../@id}" value="{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
</xsl:if>
<xsl:if test="../../property_show_kind = 4">
<!-- Отображаем флажки -->
<xsl:variable name="nodename">property_id_<xsl:value-of select="../../@id"/>_item_id_<xsl:value-of select="@id"/></xsl:variable>
<br/>
<input type="checkbox" name="property_id_{../../@id}_item_id_{@id}" id="id_property_id_{../../@id}_{@id}">
<xsl:if test="/shop/*[name()=$nodename] = @id">
<xsl:attribute name="checked">
</xsl:attribute>
</xsl:if>
<label for="id_property_id_{../../@id}_{@id}">
<xsl:value-of disable-output-escaping="yes" select="list_item_value"/>
</label>
</input>
</xsl:if>
</xsl:template>
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:param name="style_font">catalog_l0</xsl:param>
<xsl:param name="style_font_sel">catalog_l0_selected</xsl:param>
<tr>
<td>
<xsl:variable name="current_group_id" select="/shop/ТекущаяГруппа"/>
<xsl:choose>
<xsl:when test="$current_group_id = @id or count(.//group[@id=$current_group_id])=1">
<div class="{$style_font_sel}">
<b>
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</b>
</div>
<table style="margin-left: 20px; margin-top: 0px; margin-bottom: 0px; padding-bottom: 0px" border="0">
<xsl:apply-templates select="group">
<xsl:with-param name="style_font">catalog_l1</xsl:with-param>
<xsl:with-param name="style_font_sel">catalog_l1</xsl:with-param>
</xsl:apply-templates>
</table>
</xsl:when>
<xsl:otherwise>
<div class="{$style_font}">
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</div>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:template>
<!-- Шаблон для товара -->
<xsl:template match="item">
<!-- Определяем цвет фона -->
<xsl:variable name="background_color">
<xsl:choose>
<xsl:when test="(position() + 1) mod 2 > 0">#f7f7f7</xsl:when>
<xsl:otherwise>#ffffff</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<td width="33%">
<!-- Изображения для товара, если есть -->
<xsl:if test="small_image!=''">
<a href="{/shop/path}{fullpath}{path}/">
<img src="{small_image}" align="top"/>
</a>
</xsl:if>
<!-- Название товара -->
<p class="name_product">
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</p>
<!-- Цена товара товара -->
<p class="price">
<xsl:value-of disable-output-escaping="yes" select="price"/> <xsl:value-of disable-output-escaping="yes" select="currency"/> 
<a href="{/shop/path}cart/?action=add&item_id={@id}" onclick="return AddIntoCart({/shop/path},{@id}, 1)">
<img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif"/>
</a>
</p>
<!--
<xsl:if test="price!=price_tax">
<br/>
<font color="gray">
<strike>
<xsl:value-of disable-output-escaping="yes" select="price_tax" /> <xsl:value-of disable-output-escaping="yes" select="currency" />
</strike>
</font>
</xsl:if>-->
</td>
<!-- Перевод строки после каждого 3-го элемента -->
<xsl:if test="position() mod 3 = 0">
<xsl:text disable-output-escaping="yes">
</tr>
<tr>
</xsl:text>
</xsl:if>
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/item">
<tr>
<td>
<!-- Название модификации -->
<a href="{/shop/path}{fullpath}{path}/">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:value-of disable-output-escaping="yes" select="price"/> 
<!-- Валюта -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</td>
</tr>
</xsl:template>
<!-- Шаблон для скидки -->
<xsl:template match="discount">
<br/>
<xsl:value-of disable-output-escaping="yes" select="name"/> 
<xsl:value-of disable-output-escaping="yes" select="value"/>%</xsl:template>
<!-- ======================================================== -->
<!-- Шаблон выводит рекурсивно ссылки на группы инф. элемента -->
<!-- ======================================================== -->
<xsl:template match="group" mode="goup_path">
<xsl:param name="parent_id" select="@parent"/>
<!-- Получаем ID родительской группы и записываем в переменную $parent_group_id -->
<xsl:param name="parent_group_id" select="/shop/@current_group_id"/>
<xsl:apply-templates select="//group[@id=$parent_id]" mode="goup_path"/>
<xsl:if test="@parent=0">
<a href="{/shop/path}">
<xsl:value-of disable-output-escaping="yes" select="/shop/name"/>
</a>
</xsl:if>
<img src="/images/arrow_path.gif" class="arrow_path"/>
<!-- ============================================================================================== -->
<!-- Если ID группы, для которой выводим список элементов, равен ID текущей группы - выводим жирным -->
<!-- ============================================================================================== -->
<xsl:if test="$parent_group_id=@id">
<a href="{/shop/path}{fullpath}">
<b>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</b>
</a>
</xsl:if>
<!-- ============================ -->
<!-- Иначе выводим обычную ссылку -->
<!-- ============================ -->
<xsl:if test="$parent_group_id!=@id">
<a href="{/shop/path}{fullpath}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
mj23
21 апреля 2009 г.
ап. need help
ferdinant
14 мая 2010 г.
Добрый день вам форумчане. У меня такой вопрос:
При добавлении данной конструкции на локальной машине и на халяве работает. Переношу в интернет и на Малый бизнес Хоть ты плюй йому в очи не работает . При нажатии в пользовательской части XML не выводит данный шаблон вообще. Если не правильно написать шаблон например вместо МагазинНовинка написать МагазинНовинкаНетуТакогоШаблона. Напишет об ошибке, что не найдет шаблон. Как поступить в данной ситуации?
При добавлении данной конструкции на локальной машине и на халяве работает. Переношу в интернет и на Малый бизнес Хоть ты плюй йому в очи не работает . При нажатии в пользовательской части XML не выводит данный шаблон вообще. Если не правильно написать шаблон например вместо МагазинНовинка написать МагазинНовинкаНетуТакогоШаблона. Напишет об ошибке, что не найдет шаблон. Как поступить в данной ситуации?
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
natalya
14 мая 2010 г.
mj23, обратите внимание на пятое сообщение на первой странице данной темы. Там приведен код выбора товаров, добавленных в течение последних 7 дней. Вам нужно вносить изменения именно в него(а не в код XSL-шаблона). Вот эту строку:
замените на:
$time = time() - 60 * 60 * 24 * 7;
замените на:
$time = time() - 60 * 60 * 24 * 15;
natalya
14 мая 2010 г.
ferdinant, поясните, что значит фраза: "При нажатии в пользовательской части XML не выводит данный шаблон вообще". На что именно вы нажимаете? Каким образом XML должен выводить шаблон?
ferdinant
14 мая 2010 г.
В панели администрирования со стороны пользовательской есть кнопочка "Отобразить XML". При нажатии на него отображаются все XSLT шаблоны что участвуют в странице. МагазинНовинка нету.
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
ferdinant
14 мая 2010 г.
<!-- Центральный блок -->
<!-- Content #Begin /-->
<div id="content">
<div id="left-side">
<form action="">
<!-- Краткая корзина -->
<?php
if (class_exists('shop'))
{
$shop = & singleton('shop');
// Идентификатор магазина
$shop_id = 8;
$shop->ShowCart($shop_id, false, "МагазинКорзинаКраткаяСмайл");
}
?>
<!-- Меню каталога /-->
<?php
$shop = new shop();
$ShopId = 8;
$rez = array();
$rez = $shop->GetItemPath($ShopId);
$external_propertys = array();
$external_propertys['ТекущаяГруппа'] = $rez['group'];
$param = array();
$param['current_group_id'] = 0;
$param['items_on_page'] = 20;
$param['xml_show_group_type'] = 'all';
$xsl_catalog = 'МагазинГруппыТоваровСмайл';
$shop->ShowShop($ShopId, $xsl_catalog, $param, $external_propertys);
?>
<!-- Верхнее меню -->
<?php
$Structure = & singleton('Structure');
$Structure->ShowStructure(4, 'ЛевоеМенюСмайл');
?>
<div id="bask"><div id="bask_bottom"><div id="bask_top">
<ul class="catalog_menu">
<a href="https://siteheart.com/webconsultation/22066?byhref=1" target="siteheart_sitewindow_22066" onclick="o=window.open;o('https://siteheart.com/webconsultation/22066', 'siteheart_sitewindow_22066', 'width=550,height=400,top=30,left=30,resizable=yes'); return false;"><img src="/images/online.png" border="0" alt="SiteHeart" /></a>
</ul>
</div></div></div>
<!-- Меню каталога #End /-->
<!-- Метки -->
<?php
$shop = new shop();
$shop_id = 8;
$xsl_name = 'ОблакоТэговМагазинСмайл';
$row = $shop->ShowTagsCloud($shop_id, $xsl_name);
?>
<!-- Боковое меню #End /-->
<!-- Новости -->
<?php
// Вывод информационной системы
$InformationSystem = & singleton('InformationSystem');
// Количество выводимых элементов
$item_count = 2;
// Код информационной системы
$InformationSystemId = 1;
// Код отображаемой группы инфосистем
$InformationGroupId = false; // false - из всех групп, 0 - из корневой группы
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СмайлНовостейНаГлавной', $item_count, 0);
?>
</div>
<div id="right-side">
<!-- Вызов шаблона для текущей страницы -->
<?php
$kernel->show_current_page();
?>
<br />
<div class="block_banner"><div class="block_top_banner"><div class="block_bottom_banner"><center>
<!-- Баннер -->
<?
$documents = new documents();
$document_id = 20;
$documents->ShowDocument($document_id);
?>
</center></div></div></div>
<br />
<!-- Горячие предложения -->
<?php
if (class_exists('shop'))
{
$shop = & singleton('shop');
$shop_id = 8;
$param = array();
// Товары выбираем из всех групп
$param['current_group_id'] = false;
// Выводим по 4 товара в блока
$param['items_on_page'] = 6;
// Используем случайный вывод товара
$param['items_order'] = 'rand';
// Получаем все скидки магазина
$AllDiscount = $shop->GetAllDiscounts($shop_id);
// Скидки есть
if ($AllDiscount)
{
$param['select_discount'] = array();
// Цикл по полученным скидкам
while ($row = mysql_fetch_assoc($AllDiscount))
{
// В массив добавляем идентивикаторы скидок
$param['select_discount'][] = $row['shop_discount_id'];
}
}
$shop->ShowShop($shop_id, 'МагазинХит', $param);
}
?>
<!-- Новинки -->
<?php
$shop = & singleton('shop');
$shop_id = 8;
$param = array();
// Заполняем первое условие
$element['type'] = 0;
$element['prefix'] = ' and ';
$element['name'] = 'shop_items_catalog_date_time';
$element['if'] = '>';
$DateClass = new DateClass();
// Вместо 7 подставить нужное число дней
$time = time() - 60 * 60 * 24 * 7;
$element['value'] = $DateClass->DateUnixToSQL($time);
$element['sufix'] = '';
$param['select'][] = $element;
$param['current_group_id'] = 0;
$param['items_begin'] = 0;
$param['items_on_page'] = 10;
// Выводим элементы
$shop->ShowShop($shop_id, 'МагазинНовинка', $param);
?>
<!-- Статьи -->
<?php
// Вывод информационной системы
$InformationSystem = & singleton('InformationSystem');
// Количество выводимых элементов
$item_count = 2;
// Код информационной системы
$InformationSystemId = 7;
// Код отображаемой группы инфосистем
$InformationGroupId = false; // false - из всех групп, 0 - из корневой группы
$InformationSystem->ShowInformationSystem($InformationSystemId, $InformationGroupId, 'СписокСтатейНаГлавной', $item_count, 0);
?>
</div>
</div>
<!-- Content #End /-->
Шаблон XSLT МагазинНовинка
<?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="/">
<xsl:apply-templates select="/shop"/>
</xsl:template>
<!-- Шаблон для магазина -->
<xsl:template match="/shop">
<!-- Есть товары -->
<xsl:if test="item">
<div id="page_title"> <h1 >Новинки</h1></div>
<div id="merch">
<!--<table border="0"><tr>-->
<xsl:apply-templates select="item"/>
<!--</tr></table>-->
</div>
</xsl:if>
</xsl:template>
<!-- Шаблон для товара -->
<xsl:template match="item">
<!--<td>-->
<div class="block2"><div class="block2_top"><div class="block2_bottom">
<div class="new"><!-- /--></div>
<!-- Ссылка на товар -->
<h2>
<a href="{/shop/path}{fullpath}{path}/" title="{name}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</h2>
<!-- Указана малое изображение -->
<xsl:if test="small_image != ''">
<div class="price"><a href="{/shop/path}{fullpath}{path}/">
<img src="{small_image}" alt="{name}" title="{name}"/>
</a></div>
</xsl:if>
<div class="desc">
<p>
<xsl:value-of disable-output-escaping="yes" select="description"/>
</p>
<div class="compare"><input name="apply_compare" value="Сравнить" type="button" onclick="javascript:location='{/shop/path}compare_items/';"/>
</div>
</div>
<div id="price_desc">
<!-- Цена -->
<span class="price6"><span id="variant_price"> <xsl:value-of disable-output-escaping="yes" select="price_discount"/> </span> <xsl:value-of disable-output-escaping="yes" select="currency"/> </span>
<!-- Ссылку на добавление в корзины выводим, если:
type = 0 - простой тип товара
type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
что означает неограниченное количество -->
<xsl:if test="type = 0 or (type = 1 and (eitem_count > 0 or eitem_count = -1))">
<a href="{/shop/path}cart/?action=add&item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, 1)">
<input type="button" class="execute" value="в корзину" />
</a>
</xsl:if>
</div>
</div></div></div>
<!--</td>-->
<xsl:if test="position() mod 2 = 0">
<div style="clear: left;"></div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Где я ошибся?
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
ferdinant
17 мая 2010 г.
Помогите где я ошибся?
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
Авторизация