Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.

#
Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.
Делаю интернет магазин.
Верстка такая,
В макете header, верхнее меню и footer.
<?php $kernel->show_current_template()?>

вызывается  перед footer.
Шаблона два, Главная и Интернет магазин.
В обоих 3 колонки DIV-ы, в xsl шаблоне товара,
левый div без контента и поэтому его как бы нет. так и должно быть.
В xsl шаблоне магазинкаталогмагазин и Магазинкаталогнаглавной хочу сделать фильтр в левой колонке, но не знаю пока как.

Направьте пожалуйста, может быть я вообще не правильно выбрал стратегию для верстки.

конкретно не понятен момент вот тут.
xsl магазинкаталог товаров:
<xsl:template match="/">
      <div id="left">
                   (что написать тут?)
      </div>
         <div id="center" style="margin:0 210px 0 210px">
            <xsl:apply-templates select="/shop"/>
                <div class="clearing"></div>
         </div>
</xsl:template>


Есть вариант скопировать необходимое в новый xsl шаблон, например
ФильтрДляМагазинаСлева и вызвать его так:
[
<xsl:template match="/">
      <div id="left">
         <xsl:comment>
            <xsl:text disable-output-escaping="yes">
               <![CDATA[
               <?php
                  // Проверяем, существует ли класс Интернет-магазина
                  if (class_exists('shop'))
                  {
                  $shop = & singleton('shop');
                  $shop_id = '3';
                  $param = array();
                  $shop->ShowShop($shop_id, 'ФильтрДляМагазинаСлева', $param);
                  }
                  ?>
                  ]]>
               </xsl:text>
            </xsl:comment>
         </div>
         <div id="center" style="margin:0 210px 0 210px">
            <xsl:apply-templates select="/shop"/>
            
            <div class="clearing"></div>
         </div>
</xsl:template>



Но что то мне подсказывает, что так будет неправильно.
Модератор
#
Re: Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.
se000 писал(а):
(что написать тут?)


Сделать отдельный XSL-шаблон с фильтрами и вызвать:

               <?php
                  // Проверяем, существует ли класс Интернет-магазина
                  if (class_exists('shop'))
                  {
                  $shop = & singleton('shop');
                  $shop_id = '3';
                  $param = array();
                  $shop->ShowShop($shop_id, 'ФильтрДляМагазинаСлева', $param);
                  }
                  ?>


В самом XSL-шаблоне реализуете фильтрацию, как, например, в "МагазинКаталогТоваров", а не то, что Вы написали.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.
alexander.egorov писал(а):

В самом XSL-шаблоне реализуете фильтрацию, как, например, в «МагазинКаталогТоваров», а не то, что Вы написали.

Я может не правильно выразился:
Понятно что сама фильтрация должны быть в xsl.
Меня смущает, что я из одного xsl буду вызывать другой.
может быть правильнее вызвать  используя
<xsl:apply-templates   select = /shop   mode = templatename>

или
<xsl:call-template name="templatename">
.

Я ведь не могу вызвать второй раз
  <xsl:apply-templates select="/shop"/>
в моем случае.

Если опять непонятно , спросите что именно.
я попробую донести вопрос.

Модератор
#
Re: Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.
se000 писал(а):
Меня смущает, что я из одного xsl буду вызывать другой.


Меня это тоже смущает. Абсолютно не понятно зачем вызывать один XSL из другого? Да и не получится это.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.
ну а как тогда реализовать:
мне надо чтобы в Каталоге товаров левая колонка была фильтрами,
а в при просмотре товара её не было?
#
Re: Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.
а кто вам мешает сделать два идентичных макета с небольшими изменениями - в первом положим "в Каталоге товаров левая колонка была фильтрами", а для просмотра товара использовать второй макет, в котором этой колонки бы не было? или даже и была (если вам там нужно оставить пустое место), но уже не вызывать в нее ничего?
#
Re: Подскажите как организовать вывод фильтров в левой части, при верстке в 3 колонки.
MedzhitovAs писал(а):
а кто вам мешает сделать два идентичных макета с небольшими изменениями — в первом положим «в Каталоге товаров левая колонка была фильтрами», а для просмотра товара использовать второй макет, в котором этой колонки бы не было? или даже и была (если вам там нужно оставить пустое место), но уже не вызывать в нее ничего?

За совет Спасибо.
После Вашего совета именно так и думал сделать,
Потом пришла интересная мысль и сделал через jquery просто поставил display=none в css,для DIV там где он не нужен. Сам DIV вынес в макет.
Авторизация