переключение между вариантами отображения каталога

#
переключение между вариантами отображения каталога
Добрый день. Подскажите, пожалуйста, каким образом можно реализовать возможность выбора варианта отображения каталога товаров? На данный момент есть два варианта xsl-шаблона "МагазинКаталогТоваров" с разными настройками css.
У меня есть вариант объединить их в один шаблон, где шаблон вывода каталога прятать в "скрытый div". И показывать его при соответствующем клике пользователя. Но это увеличивает конечный вес страницы.
Подскажите, пожалуйста, я мыслю в правильном направлении или существует другой способ, более верный. Спасибо.
#
Re: переключение между вариантами отображения каталога
V-Klimenko, ну как вариант, не прятать в скрытый div а вставить в xsl условие (if или choose) в котором проверять какой вариант отображения нужен, и рисовать выводить только нужный.

Но это зависит от вашей задачи.
Если, например, вы хотите переключаться между вариантами отображения без перезагрузки страницы, то тогда, конечно, скрытый div.

Ну или сверстать каталог так, чтобы его внешний вид менялся исключительно за счет css, при той же самой html-разметке, и переключать классы у элемента-контейнера каталога, например, с помощью jQuery.

Или подгружать динамически через ajax.

Да много можно разных способов выдумать.
Заказов не беру. Консультирую редко.
#
Re: переключение между вариантами отображения каталога
Попробовал сделать по-своему. Забегу вперед не работает. Что было сделано.
Есть подключаемый javascript. К нему вопросов нет, на другой странице с аналогичной задачей он справляется. В xsl-шаблоне «МагазинКаталогТоваров» я добавил

<xsl:template match="/shop">
...
<xsl:apply-templates select="item" />
<xsl:apply-templates select="item2" />
<xsl:apply-templates select="item3" />
...
</xsl:template>


В том же xsl-шаблоне я добавил

<xsl:template match="item"> ...   </xsl:template>
<xsl:template match="item2"> ...</xsl:template>
<xsl:template match="item3"> ...</xsl:template>


Переключение работает, но отображается только содержимое, за которое отвечает match="item"

Что-то где-то упустил?
#
Re: переключение между вариантами отображения каталога
да


<xsl:template match="/shop">
...
<xsl:apply-templates select="item" />
<xsl:apply-templates select="item" mode="item2"/>
<xsl:apply-templates select="item" mode="item3"/>
...
</xsl:template>
-------------------------------------------------------
<xsl:template match="item"> ...   </xsl:template>
<xsl:template match="item" mode="item2"> ...</xsl:template>
<xsl:template match="item" mode="item3"> ...</xsl:template>


У вас в XML нету /shop/item2 и /shop/item3 у вас есть  /shop/item которое нужно вызвать несколько раз решает функция mode
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
#
Re: переключение между вариантами отображения каталога
Большое спасибо. Все работает.
Авторизация