Производители в прайс-листе

#
Производители в прайс-листе
Хотел бы дополнительно к Группам в прайс-листе выводить группировку по производителям  (с картинкой и описанием).
Прайс:
Группа
-Производитель
Картинка | Описание
--Товары

Как модифицировать XSL МагазинПрайс ?
http://www.aiventa.ru
Модератор
#
Re: Производители в прайс-листе
hell0men,
Давайте начнем с поиска информации о производителях в XML.
#
Re: Производители в прайс-листе
http://www.aiventa.ru/shop/price/

Есть список производителей

   <producerslist>
      <producer id="37">
         <name>Ballu</name>
         <description></description>



И зачем то отдельно в товарах еще есть

   <item id="939" group="653">
      ...
      <producer id="66">
                        <name>Тропик</name>
         <description>Компания &quot;ТРОПИК&quot; осуществляет производство различного теплового оборудования</description>
http://www.aiventa.ru
Модератор
#
Re: Производители в прайс-листе
hell0men,
вот можете эту информацию и использовать при выводе прайса.
#
Re: Производители в прайс-листе
Пытался по примеру списка производителей, но получил тока ошибки
http://www.aiventa.ru
Модератор
#
Re: Производители в прайс-листе
hell0men,
а более подробно с кодом можно?
#
Re: Производители в прайс-листе
Это выше моего понимания
<?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="/shop">
      <!-- CSS для таблицы с прайсом -->
      <style TYPE="text/css">
         <xsl:comment>
            <xsl:text disable-output-escaping="yes">
               <![CDATA[
               .price_table_border, .price_table_border td
               {
               border-collapse: collapse;
               empty-cells: show;
               border-width:1px;
               border-color: #CCCCCC;
               border-style: dashed;
               padding-left: 5px;
               }
               ]]>
            </xsl:text>
         </xsl:comment>
      </style>
      <script type="text/javascript" src="/js/jquery.cookie.js" ></script>
      <script type="text/javascript" src="/js/picnet.jquery.tablefilter.js" ></script>
      <script type="text/javascript">
         <xsl:comment>
            <xsl:text disable-output-escaping="yes">
               <![CDATA[
               $(document).ready(function() {
               $('#price').tableFilter();
               });
               ]]>
            </xsl:text>
         </xsl:comment>
      </script>
      
      
      
      
      
      <h1>Прайс-лист</h1>
      <p>Для быстрого отбора по полям таблицы используйте поля фильтров под названиями колонок</p>
      <!-- Отображаем таблицу -->
      <table class="price_table_border" id="price">
         <thead>
            <tr bgcolor="#EAE4DF">
               <th>
                  <b>Арт.</b>
               </th>
               <th align="center" height="25" valign="middle">
                  <b>Наименование</b>
               </th>
               <th align="center" height="25" valign="middle" filter="false">
                  <b>Цена</b>
               </th>
            </tr>
         </thead>
         <tbody>
            <xsl:apply-templates select="/shop/item">
               <xsl:with-param name="group_id" select="0"/>
            </xsl:apply-templates>
            <xsl:apply-templates select="group"/>

         </tbody>
      </table>
   </xsl:template>
   
   <!-- Группы товаров -->
   <xsl:template match="group">
      <xsl:variable name="attr_group_id">
         <xsl:value-of select="@id"/>
      </xsl:variable>
      <xsl:if test="count(/shop/item[@group=$attr_group_id]) &gt; 0">
         <tr>
            <td bgcolor="#EAE4DF" colspan="3">
               <strong>
                  <xsl:value-of select="name"/>
               </strong>
            </td>
         </tr>
         <xsl:apply-templates select="/shop/item">
            <xsl:with-param name="group_id" select="@id"/>
         </xsl:apply-templates>
      </xsl:if>
      <xsl:apply-templates select="producer"/>
   </xsl:template>
   
   <!-- Товары -->
   <xsl:template match="/shop/item">
      <xsl:param name="group_id"/>
      <xsl:if test="$group_id = @group">
         <tr>
            <td>
               <xsl:if test="marking_of_goods != ''">
                  <xsl:value-of select="marking_of_goods"/>
               </xsl:if>
            </td>
            <td>
               <a href="{//path}{fullpath}{path}/" title="{name}"><xsl:value-of select="name"/></a>
            </td>
            <td >
               <xsl:value-of select="price"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="currency"/></td>
         </tr>
      </xsl:if>
   </xsl:template>
<xsl:template match="/shop/item/producer">
                 <xsl:variable name="attr_producer_id">
         <xsl:value-of select="@id"/>
      </xsl:variable>

      <xsl:if test="count(/shop/item[@producer=$attr_producer_id]) &gt; 0">
         <tr>
            <td bgcolor="#EAE4DF" colspan="3">
               <strong>
                  <xsl:value-of select="name"/>
               </strong>
            </td>
         </tr>
         
      </xsl:if>
   </xsl:template>
</xsl:stylesheet>
http://www.aiventa.ru
Авторизация