"Горячие предложения" на главной в 3 колонки

#
"Горячие предложения" на главной в 3 колонки
Доброго времени суток! Помогите начинающим. Стандартный XSL шаблон "МагазинКаталогТоваровНаГлавнойСпецПред" вывод на главной происходит в 2 колонки, мне нужно изменить на 3, 4 и т.д. На форуме нашел много тем как реализовать, но все равно не выводит! Посмтрите пожалуйста где ошибка?

<?xml version="1.0" encoding="utf-8"?>
<!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="utf-8" 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">
         <h2>Горячие предложения</h2>
         <!-- Выводим товары магазина -->
         <xsl:apply-templates select="item"/>
      </xsl:if>
   </xsl:template>
   
   <!-- Шаблон для товара -->
   <xsl:template match="item">
      <td>
         <div class="shop_item">
            <div class="left" style="text-align: center; position: relative;">
               <!-- Указана малое изображение -->
               <td>
                  
                  <xsl:if test="small_image != ''">
                     <a href="{/shop/path}{fullpath}{path}/">
                        <img src="{small_image}" alt="{name}" title="{name}"/>
                     </a>
                     <div class="hit" style="margin: {small_image/@height - 35}px 0 0 90px;"></div>
                  </xsl:if>
                  
                  <!-- Ссылка на товар -->
                  <p>
                     <a href="{/shop/path}{fullpath}{path}/" title="{name}">
                        <xsl:value-of disable-output-escaping="yes" select="name"/>
                     </a>
                  </p>
                  
                  <p>
                     <!-- Цена -->
                     <b>
                        <xsl:value-of disable-output-escaping="yes" select="price_discount"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="currency"/>&#xA0;
                     </b>
                     
                     <!-- Ссылку на добавление в корзины выводим, если:
                     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&amp;item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, 1)">
                           <img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif"/>
                        </a>
                     </xsl:if>
               </p></td>
            </div>
         </div>
         <xsl:if test="position() mod 3 = 0">
            
            <xsl:text disable-output-escaping="yes">
               
               &lt;/tr&gt;
               
               &lt;tr&gt;
               
            </xsl:text>
            
         </xsl:if>
      </td>
   </xsl:template>
</xsl:stylesheet>
#
Re: "Горячие предложения" на главной в 3 колонки
С этим невозможно работать, все кавычки позаменялись, комментарии заменились в стрелочки "→"

Повторите заново, и обрамите это
[CODE]
[/CODE]
Создание сайтов в Хабаровске - http://web-alt.ru
Модератор
#
Re: "Горячие предложения" на главной в 3 колонки
Стандартный XSL-шаблон "МагазинКаталогТоваровНаГлавнойСпецПред" с выводом товаров в 3 колонки:
<?xml version="1.0" encoding="utf-8"?>
<!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="utf-8" 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">
         <h2>Горячие предложения</h2>
         <!-- Выводим товары магазина -->
         <table width="100%">
            <tr>
               <xsl:apply-templates select="item" />
            </tr>
         </table>
      </xsl:if>
   </xsl:template>
   
   <!-- Шаблон для товара -->
   <xsl:template match="item">
      <td valign="top">
         <div class="shop_item">
            <div class="left" style="text-align: center; position: relative;">
               <!-- Указана малое изображение -->
               <xsl:if test="small_image != ''">
                  <a href="{/shop/path}{fullpath}{path}/">
                     <img src="{small_image}" alt="{name}" title="{name}"/>
                  </a>
                  <div class="hit" style="margin: {small_image/@height - 35}px 0 0 90px;"></div>
               </xsl:if>
               
               <!-- Ссылка на товар -->
               <p>
                  <a href="{/shop/path}{fullpath}{path}/" title="{name}">
                     <xsl:value-of disable-output-escaping="yes" select="name"/>
                  </a>
               </p>
               
               <p>
                  <!-- Цена -->
                  <b>
                     <xsl:value-of disable-output-escaping="yes" select="price_discount"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="currency"/>&#xA0;
                  </b>
                  
                  <!-- Ссылку на добавление в корзины выводим, если:
                  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&amp;item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, 1)">
                        <img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif"/>
                     </a>
                  </xsl:if>
               </p>
            </div>
         </div>
         
         <xsl:if test="position() mod 2 = 0">
            <div class="clearing"></div>
         </xsl:if>
      </td>
      <xsl:if test="position() mod 3 = 0">
         <xsl:text disable-output-escaping="yes">&lt;/tr&gt;&lt;tr&gt;</xsl:text>
      </xsl:if>
   </xsl:template>
</xsl:stylesheet>
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: "Горячие предложения" на главной в 3 колонки

<?xml version="1.0" encoding="utf-8"?>
<!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="utf-8" 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">
         <h2>Горячие предложения</h2>
         <!-- Выводим товары магазина -->
         <xsl:apply-templates select="item"/>
      </xsl:if>
   </xsl:template>
   
   <!-- Шаблон для товара -->
   <xsl:template match="item">
      <td>
         <div class="shop_item">
            <div class="left" style="text-align: center; position: relative;">
               <!-- Указана малое изображение -->
               <td>
                  
                  <xsl:if test="small_image != ''">
                     <a href="{/shop/path}{fullpath}{path}/">
                        <img src="{small_image}" alt="{name}" title="{name}"/>
                     </a>
                     <div class="hit" style="margin: {small_image/@height - 35}px 0 0 90px;"></div>
                  </xsl:if>
                  
                  <!-- Ссылка на товар -->
                  <p>
                     <a href="{/shop/path}{fullpath}{path}/" title="{name}">
                        <xsl:value-of disable-output-escaping="yes" select="name"/>
                     </a>
                  </p>
                  
                  <p>
                     <!-- Цена -->
                     <b>
                        <xsl:value-of disable-output-escaping="yes" select="price_discount"/>&#xA0;<xsl:value-of disable-output-escaping="yes" select="currency"/>&#xA0;
                     </b>
                     
                     <!-- Ссылку на добавление в корзины выводим, если:
                     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&amp;item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, 1)">
                           <img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif"/>
                        </a>
                     </xsl:if>
               </p></td>
            </div>
         </div>
         <xsl:if test="position() mod 3 = 0">
            
            <xsl:text disable-output-escaping="yes">
               
               &lt;/tr&gt;
               
               &lt;tr&gt;
               
            </xsl:text>
            
         </xsl:if>
      </td>
   </xsl:template>
</xsl:stylesheet>
#
Re: "Горячие предложения" на главной в 3 колонки
Спасибо, все получилось, главное теперь понятен  принцып!!!!! Спасиббо
Модератор
#
Re: "Горячие предложения" на главной в 3 колонки
tata-penza, Пожалуйста.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: "Горячие предложения" на главной в 3 колонки
а как сделать количетсво больше 4?
#
Re: "Горячие предложения" на главной в 3 колонки
<xsl:if test="position() mod 4 = 0">
         <xsl:text disable-output-escaping="yes">
            &lt;/tr&gt;
            &lt;tr&gt;
         </xsl:text>
      </xsl:if>

вместо 4 ставите нужное вам количество столбцов
Модератор
#
Re: "Горячие предложения" на главной в 3 колонки
3DIS писал(а):
а как сделать количетсво больше 4?

Количество чего? Столбцов или товаров в блоке? Если столбцов, то ответ дал MedzhitovAs,
а если товаров, то в самом вызове горячих предложений (стандартно он расположен в шаблоне для главной) в строке:

$param['items_on_page'] = 4;


вместо 4 укажите нужное число.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: "Горячие предложения" на главной в 3 колонки
Прошу прощения, и не кидайте в меня камни! Не хочу создавать новой темы, решил спрошу здесь. Хочу изменить внешний вид. но у меня не чего не получается. Хочу Позиционировать картинку, цену и корзину и уменьшить ячейку. Дайте добрый совет!
Авторизация