Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Переключатель компонента вида товаров - плитка/список... Help!

28.05.2015, 17:56
dimidroll
Егоровых Дмитрий
dimidroll

Зарегистрирован:
2007-10-05
Сообщений: 81

Суть в следующем, есть компонент товары, и в нем 2 шаблона - шаблон отображения плиткой (основной) и шаблон отображения списком. Каким образом дать возможность пользователю переключить вид шаблона динамически и записать переменную вид в куку(сессию) с последующем отображением нужного шаблона на всех разделах каталога?
Заранее благодарю!
PS: через jquery замену классов прошу не предлагать, шаблоны отличаются кардинально...

ася - 97336016
29.05.2015, 10:30
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Вариант
При помощи модуля маршрутизации
Адреса ссылок
.../, .../tile/

В модуле создать правило
Код:
/{folder}/tile/

Дополнительные переменные nc_ctpl=100
В настройки макета
Код:
if($nc_ctpl == 100) $_SESSION['ctpl'] = 1;


В модуле создать правило
Код:
/{folder}/

Дополнительные переменные nc_ctpl=null
В настройки макета
Код:
if($nc_ctpl == 'null') unset($_SESSION['ctpl']);


В навигации добавить условие
Код:
($_SESSION['ctpl'] == 1 ? 'tile/' : '')


Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
29.05.2015, 11:03
dimidroll
Егоровых Дмитрий
dimidroll

Зарегистрирован:
2007-10-05
Сообщений: 81

Цитата:
В модуле создать правило
Код:
/{folder}/tile/

Дополнительные переменные nc_ctpl=100

по ссылке отображает нужный подшаблон компонента товары


Цитата:
В настройки макета
Код:
if($nc_ctpl == 100) $_SESSION['ctpl'] = 1;


в макете или компоненте товаров это прописывать?

В модуле создать правило
Код:
/{folder}/

Дополнительные переменные nc_ctpl=null

Цитата:
В настройки макета
Код:
if($nc_ctpl == 'null') unset($_SESSION['ctpl']);


В навигации добавить условие
Код:
($_SESSION['ctpl'] == 1 ? 'tile/' : '')

а это?

ася - 97336016
01.06.2015, 10:05
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Настройки макета это там где вы создаете шаблоны навигации

Вам нужно создать два правила. Первое с номером шаблона для инфоблока с дальнейшей записью в сессию, а вторая удалением записи из сессии.

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
198 196 2015-06-01 10:05:51 14178
Описание проекта