Дизайн интернет магазина

#
Re: Дизайн интернет магазина
это шаблон выборки групп, можно в него засунуть выбор товаров
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Дизайн интернет магазина
Вот три шаблона
<!-- Шаблон для групп товара -->
   <xsl:template match="group">
          
      <xsl:variable name="parent_id" select="@parent"/>
      
      <h3>
         
            <xsl:value-of disable-output-escaping="yes" select="name"/>
      </h3>
      
      <xsl:if test="position()= round(count(//group[@parent = $parent_id]) div 2)">
         <xsl:text disable-output-escaping="yes">
            &lt;/div&gt;
            
&lt;div class="right-side"&gt;
                                       
                                          &lt;div class="menu-card-link"&gt;&lt;a href="#"&gt;зарезервировать столик&lt;/a&gt;&lt;/div&gt;
         </xsl:text>
      </xsl:if>
   </xsl:template>
<!-- Шаблон для подразделов -->
   <xsl:template match="group" mode="sub_group">
      <a href="{/shop/path}{fullpath}">
         <xsl:value-of disable-output-escaping="yes" select="name"/>
      </a>
      <xsl:variable name="parent_id" select="@parent"/>
      <!-- Ставим запятую после группы, за которой следуют еще группы из данной родителской группы -->
      <xsl:if test="position() != last() and count(//group[@parent = $parent_id]) &gt; 1">,&#xA0;</xsl:if>
   </xsl:template>
   
   <!-- Шаблон для товара -->
   <xsl:template match="item">
      
      <!-- Определяем цвет фона -->
      <xsl:variable name="background_color">
         <xsl:choose>
            <xsl:when test="(position() + 1) mod 2 &gt; 0">#f7f7f7</xsl:when>
            <xsl:otherwise>#ffffff</xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <table width="97%" border="0" cellpadding="0" cellspacing="0" style="padding-bottom: 7px; margin-bottom: 15px; margin-right: 10px; border-bottom: 1px solid #dadada">
         <tr>
            <td colspan="4" style="padding-bottom: 4px">
               <!-- Название товара -->
               <div  style="font-size: 13pt">
                  <a href="{/shop/path}{fullpath}{path}/" class="cat_title">
                     <xsl:value-of disable-output-escaping="yes" select="name"/>
                  </a>
               </div>
               
            </td>
         </tr>
         <tr>
            <td class="cat_t" style="width: 110px" valign="top">
               <!-- Изображение для товара, если есть -->
               <xsl:if test="small_image!=''">
                  <a href="{/shop/path}{fullpath}{path}/">
                     <img src="{small_image}" class="image" />
                  </a>
               </xsl:if>
            </td>
            <td style="vertical-align: top; padding-left: 12px;">
               
               <!-- Описание товара -->
               <xsl:value-of disable-output-escaping="yes" select="description"/>
               
               <!-- Если электронный товар, выведим доступное количество -->
               <xsl:if test="type = 1">
                  <p>
                     <strong>
                        <xsl:choose>
                           <xsl:when test="eitem_count = 0">
                              Электронный товар закончился.
                           </xsl:when>
                           <xsl:when test="eitem_count = -1">
                              Электронный товар доступен для заказа.
                           </xsl:when>
                           <xsl:otherwise>
                           На складе осталось: <xsl:value-of select="eitem_count" /><xsl:text> </xsl:text><xsl:value-of select="mesure" />
                           </xsl:otherwise>
                        </xsl:choose>
                     </strong>
                  </p>
               </xsl:if>
               
               <!-- Метки -->
               <xsl:if test="count(tags/tag) &gt; 0">
                  <p>
                     <img src="/hostcmsfiles/images/tags.gif" align="left" style="margin: 0px 5px -2px 0px"/>
                     <xsl:apply-templates select="tags/tag"/>
                  </p>
               </xsl:if>
               
               <!-- Продавец -->
               <xsl:if test="saller!=0">
                  <!-- Идентификатор текущего продавца -->
                  <p>
                     <xsl:variable name="saller_id" select="saller"/>
                     <b>Продавец:&#xA0;</b>
                     <a href="{/shop/path}sallers/saller-{saller}/">
                        <xsl:value-of select="/shop/sallers/saller[@id=$saller_id]/sallers_name"/>
                     </a>
                  </p>
               </xsl:if>
               
               <!-- Если указан вес товара -->
               <xsl:if test="weight != 0">
                  <p>
                     Вес товара: <xsl:value-of select="weight"/>&#xA0;<xsl:value-of select="weight_mesure"/>
                  </p>
               </xsl:if>
               
               <!-- Скидки -->
               <xsl:if test="count(discount) &gt; 0">
                  <p>
                     Скидки: <xsl:apply-templates select="discount"/>
                  </p>
               </xsl:if>
               
               <!-- Спеццены -->
               <xsl:if test="count(shop_special_prices/special_price) &gt; 0">
                  <p>
                     <b>Специальные цены:</b>
                     <xsl:apply-templates select="shop_special_prices/special_price"/>
                  </p>
               </xsl:if>
               
               <!-- Вывод цен в другой валюте -->
               <xsl:variable name="price" select="price_discount"/>
               
               <xsl:if test="count(/shop/all_currency/shop_currency) > 1 and $price > 0">
                  <p><b>Цена в других валютах:</b>
                     <!-- Выбираем валюты -->
                     <xsl:for-each select="/shop/all_currency/shop_currency">
                        <!-- Выводим валюты кроме текущей -->
                        <xsl:if test="@id != /shop/shop_currency/@id">
                           <br /><xsl:value-of select="format-number($price * shop_currency_coefficient, '### ##0,00', 'my')"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="shop_currency_name"/>
                        </xsl:if>
                     </xsl:for-each>
                  </p>
               </xsl:if>
               
               <!-- Модификации -->
               <xsl:if test="count(modifications/item) &gt; 0">
                  <b>Модификации:</b>
                  <table cellspacing="0" cellpadding="2">
                     <tr>
                        <td style="border-bottom: 1px solid #dadada;"></td>
                        <td style="border-bottom: 1px solid #dadada;">Название</td>
                        <td style="border-bottom: 1px solid #dadada;">Цена</td>
                     </tr>
                     <xsl:apply-templates select="modifications/item"/>
                  </table>
               </xsl:if>
               
               <div style="margin-left: -4px; margin-top: 5px">
                  <xsl:variable name="var_compare_id" select="@id"/>
                  <input type="checkbox" name="compare_id_{@id}" id="id_compare_id_{@id}">
                  <label for="id_compare_id_{@id}">&#xA0;<span style="border-bottom: dashed 1px">Добавить для сравнения</span>&#xA0;</label>
                  </input>
               </div>
            </td>
            
            <td width="128" valign="top" style="padding-left: 30px">
               <xsl:if test="property[@xml_name = 'novinka']/value != '' and property[@xml_name = 'novinka']/value = 'Да'">
                  <img src="/images/new.gif"/>
               </xsl:if>
               
               <xsl:if test="property[@xml_name = 'hot']/value != '' and property[@xml_name = 'hot']/value = 'Да'">
                  <img src="/images/hot.gif"/>
               </xsl:if>
            </td>
            
            <td width="130" class="cat_price_label" style="padding-left: 10px" valign="top">
               <!-- Цена товара -->
               <div style="display: inline">
                  <xsl:choose>
                     <xsl:when test="price_discount != 0">
                        <span style="font-size: 11pt">
                           <b>
                              <xsl:variable name="price" select="price_discount"/>
                              <xsl:value-of select="format-number($price, '### ##0,00', 'my')"/>&#xA0;
                              <!-- Валюта товара -->
                              <xsl:value-of disable-output-escaping="yes" select="currency"/>
                           </b>
                        </span>
                     </xsl:when>
                     <xsl:otherwise>
                        <span style="font-size: 11pt">
                           <b>цена&#xA0;договорная</b>
                        </span>
                     </xsl:otherwise>
                  </xsl:choose>
                  <br/>
                  
                  <!-- Если цена со скидкой - выводим ее -->
                  <xsl:if test="price_tax != price_discount">
                     <span style="color: gray; text-decoration: line-through;">
                        <xsl:variable name="price_tax" select="price_tax"/>
                        <span style="font-size: 11pt">
                           <xsl:value-of select="format-number($price_tax, '### ##0,00', 'my')"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="currency"/></span>
                     </span>
                     <br/>
                  </xsl:if>
                  
                  <!-- Ссылку на добавление в корзины выводим, если:
                  type != 1 - простой тип товара или делимый (0 - простой, 2 - делимый)
                  type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
                  что означает неограниченное количество -->
                  <xsl:if test="type != 1 or (type = 1 and (eitem_count > 0 or eitem_count = -1))">
                     <div style="display: inline; margin-left: 3px">
                        <div class="left">
                           <input type="text" size="3" value="1" id="count_{@id}"/>
                           
                           <img src="/images/map_intocart.gif" width="12" height="21" border="0" usemap="#mapInToCart{@id}" style="margin: 0 0 -6px 1px;"/>
                           
                           <map name="mapInToCart{@id}">
                              <area shape="rect" coords="0,0,12,10"  onclick="set_count_mod('count_{@id}', 1);" nohref="nohref" />
                              <area shape="rect" coords="0,11,12,21" onclick="set_count_mod('count_{@id}', -1);" nohref="nohref" />
                           </map>
                        </div>
                        
                        <a href="{/shop/path}cart/?action=add&amp;item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, document.getElementById('count_{@id}').value)">
                           <img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif" style="margin: 0px 0px -4px 10px" />
                        </a>
                     </div>
                  </xsl:if>
                  
               </div>
            </td>
         </tr>
      </table>
   </xsl:template>
Куда надо запихать код который Вы дали? Я очень извиняюсь, но не могу разобраться в деталях
В говно может вступить любой желающий. (с)
#
Re: Дизайн интернет магазина
примерно так
....
<xsl:apply-templates select="item" />
....

<!-- Шаблон для групп товара -->
   <xsl:template match="group">

      <xsl:variable name="parent_id" select="@parent"/>
      <xsl:variable name="group_id"  select="@group_id"/>

      <h3>

            <xsl:value-of disable-output-escaping="yes" select="name"/>
      </h3>

      <xsl:if test="position()= round(count(//group[@parent = $parent_id]) div 2)">
         <xsl:text disable-output-escaping="yes">
            &lt;/div&gt;

&lt;div class="right-side"&gt;

                                          &lt;div class="menu-card-link"&gt;&lt;a href="#"&gt;зарезервировать столик&lt;/a&gt;&lt;/div&gt;
         </xsl:text>
      </xsl:if>

      <xsl:apply-templates select="item[@group_id=$group_id]"/>

   </xsl:template>
<!-- Шаблон для подразделов -->
   <xsl:template match="group" mode="sub_group">
      <a href="{/shop/path}{fullpath}">
         <xsl:value-of disable-output-escaping="yes" select="name"/>
      </a>
      <xsl:variable name="parent_id" select="@parent"/>
      <!-- Ставим запятую после группы, за которой следуют еще группы из данной родителской группы -->
      <xsl:if test="position() != last() and count(//group[@parent = $parent_id]) &gt; 1">,&#xA0;</xsl:if>
   </xsl:template>

   <!-- Шаблон для товара -->
   <xsl:template match="item">

   ...
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Дизайн интернет магазина
что то, ноль эмоций... а что тут отвечает за отображение подгрупп и товаров?
В говно может вступить любой желающий. (с)
#
Re: Дизайн интернет магазина
за отображение шаблоны
<xsl:template match="group">
и
<xsl:template match="item">
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Дизайн интернет магазина
что то не отображает ничего кроме разделов, даже ошибок не выдает
В говно может вступить любой желающий. (с)
#
Re: Дизайн интернет магазина
так и должно быть ))
в типовой ТДС, не выводится товар из всех подгрупп
http://www.hostcms.ru/forums/17/2625/
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Дизайн интернет магазина
т.е. мне надо выводить не
<?php
$kernel->show_current_page();
?>
а другим? просто если выводить как магазином, у меня при переходе на страницу товара получается ересь.
В говно может вступить любой желающий. (с)
#
Re: Дизайн интернет магазина
не совсем ту ссылку дал, http://www.hostcms.ru/forums/22/1378/

вам нужно отредактировать типовую динамическую страницу интернет-магазина
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Re: Дизайн интернет магазина
честно говоря не особо понял, что конкретно надо изменить и на что Вы не могли бы мне помочь?
В говно может вступить любой желающий. (с)
Авторизация