@toha_man

Можно поменять шаблон компонента битрикс на лету?

Друзья, только недавно начал работать с битрикс, прям совсем недавно. Очень интересно, нравится, несмотря не на что))
Но вот возникла задача, добавить возможность вывода товаров плиткой(сейчас списком).
Шаблон вывода не стандартный и у него нету вывода плиткой. Как я понял надо писать свой шаблон плиткой.
Но... посмотрев на текущий код шаблона каталога я очумел.... там 885 строк хорошего вдумчивого :) php кода и сделать такой же будет не реальной задачей для меня сейчас.
Но вот при включении стандартного шаблона для компонента каталога получается плитка то что надо, если немного допилить её будет вообще пушка.

Можно ли сделать кнопку для смены шаблона для компонента и вывести её для пользователя(как обычно и бывает в любом ИМ - иконка списком , иконка плиткой) ? Как это сделать ?
  • Вопрос задан
  • 842 просмотра
Решения вопроса 1
Да возможно.
1. Делаете ссылку переключатель плитка, список.
2. В ссылку вписываете параметр ?listType=list и ?listType=card
3. На странице с вызовом компонента или внутри комплексного компонента пишите обработку передаваемого параметра
4. Если совпадает присваиваете переменной с именем шаблона значение
5. Если не совпадает, то значение по умолчанию
6. Записываете полученное значение в сессию или куку
7. Перед подключением шаблона проверяет значение в куки или сессии
8. Вставляете переменную с именем шаблона.

Если нужно сделать на Ajax то всё тоже самое просто ссылку заменяете на Ajax запрос на эту же страницу и добавляете перед компонентом

$APPLICATION->RestartBuffer();

И после компонента
die();

Естественно с проверкой по наличию передаваемого параметра.
Далее в результате ajax просто вставляете html в блок с списком
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы