Простите, реально уже туплю... Поломал себе мозг от незнания... Есть два шаблона: bar - плитка, и table - таблица.
в файле:
/шаблон/components/bitrix/catalog/catalog/section.php
нашел строку, где мы получаем в переменную $current_view текущее значение(имя) шаблона каталога:
<?$current_view = COption::GetOptionString("eshop", "catalogView", "list", SITE_ID);?>
И сразу ее применяем к компоненту с проверкой её значения:
<?$APPLICATION->IncludeComponent("bitrix:catalog.section",$current_view == "bar" ? "bar" : (($current_view=="table")? "table" : "", Array(...
?>
Но, где надо писать функцию замены содержимого переменной при нажатии на кнопку не понимаю...
Опять же, когда сохранять и восстанавливать это значение из куки?
порывшись в сети нашел что-то похожее на правду:
<? if(in_array($_REQUEST["view"], array("block", "list", "table"){
$view = htmlspecialchars($_REQUEST["view"];
$APPLICATION->set_cookie("view", $view);
}
else{
$view = $APPLICATION->get_cookie("view")?$APPLICATION->get_cookie("view"):"block";
}?>
<span>ВИД:</span>
<button onclick="setViewField('bar'); return false;" class="BtnView <?=($view=='bar')?"active":"";?>">Плитка</button>
<button onclick="setViewField('list'); return false;" class="button12 <?=($view=='list')?"active":"";?>">Список</button>
<button onclick="setViewField('table'); return false;" class="button12 <?=($view=='table')?"active":"";?>">Таблица</button>
<?$APPLICATION->IncludeComponent("bitrix:catalog.section",$view, array(...?>
Непонятно:
- какой код у функции setViewField() - наверное как раз с куками работа...
- $_REQUEST["view"] - этот параметр у меня не считывается, его значение посмотреть не удалось =(