Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Сохранение выбора вида компонента в сессии пользователя.

00 голосов
3
Как можно сохранять в сессии пользователя вид каталога?
допустим show=list - 1ый шаблон, show=full - 2ой шаблон.

Как их лучше передать и записать в сессию?
спросил 27 Окт, 13 от Kiriel (2,010 баллов)

3 Ответы

00 голосов
Передавать в ссылке имя шаблона при переключении пользователем(/catalog/?show=list) и сохранять как-нибудь так:
Код
if (!empty($_REQUEST['show']) && in_array($_REQUEST['show'], array('list', 'full')) === true) {
    $_SESSION['someentity_show'] = $_REQUEST['show'];
} elseif (empty($_SESSION['someentity_show'])) {
    $_SESSION['someentity_show'] = 'list';
}

$APPLICATION->IncludeComponent('...', $_SESSION['someentity_show'], ...);
ответил 26 Ноя, 13 от Miko (340 баллов)
00 голосов
Андрей Нейман,
А при этом шаблона нужно иметь два или можно в одном шаблоне сделать два вида и при принятии делать условие?
ответил 08 Март, 14 от Kiriel (2,010 баллов)
00 голосов
Вообще шаблон — это представление информации, т.е. два представления = два шаблона. Если они отличаются незначительно(например, в таблице добавляется несколько дополнительных колонок), можно и в одном шаблоне это сделать. Но тогда необходимо вынести эту опцию(show) в параметр компонента(.parameters.php в папке шаблона), иначе будут проблемы с кэшированием
ответил 28 Июнь, 14 от Miko (340 баллов)

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

0 голосов
3 ответов
0 голосов
6 ответов
0 голосов
5 ответов
спросил 04 Ноя, 13 от IceCooleR (120 баллов)
0 голосов
3 ответов
0 голосов
2 ответов
спросил 12 Фев, 14 от Asteria (1,840 баллов)