недавно решил подобный вопрос, с помощью техподдержки, мне нужно было переключать шаблон в зависимости от ширины содержимого с 3-х на 2-х колоночный.
Привожу советы техслужбы:
Цитата |
---|
1. В инфоблоке добавляете какое-либо свойство, которое будет указывать, использовать ли определенный шаблон. К примеру, строковое свойство use_template 2. В элементе, если необходим определенный шаблон под условным номером 2, указываете, в свойстве к код 2. 3. В настройках сайта ставите шаблону, которому условно присвоили Вы номер 2, условие $_REQUEST['MY_TEMPLATE_USE']=='2' 4. Как следует из пункта 3, в $_REQUEST должен быть параметр MY_TEMPLATE_USE со значением. А для этого необходимо чтобы в ссылке на детальную страницу было, к примеру вместо detail.php?BID=32&ID=123321 была ссылка detail.php?BID=32&ID=123321&MY_TEMPLATE_USE=2 Для этого, нужно изменить компонент, который выводит ссылки на детальные страницы элемента. Т.е., к примеру, в компоненте news.list сделать вместо вывода просто ссылки, условие - прибавить к ссылке параметр MY_TEMPLATE_USE равному значению свойства элемента use_template, если это свойство установлено.
Все, теперь, при установке свойства, компонент списка элементов выведет ссылки на детальные элементов с параметром, при котором применится шаблон. |
и еще уточнение
Цитата |
---|
В компоненте news.list есть вывод ссылки href="<?=$arItem["DETAIL_PAGE_URL"]?>"
к примеру, если целевое свойство имеет код newtest, то примерно следующая проверка: href="<?=$arItem["DETAIL_PAGE_URL"]?><?(!empty($arItem['PROPERTIES']['newtest']['VALUE']) ? '&'.$arItem['PROPERTIES']['newtest']['VALUE'] : '')?>"
используйте для отладки php-функции echo и print_R. |
вообщем как я понял в шаблоне \bitrix\templates\твой шаблон\components\bitrix\news.list\template1\template.php
немного изменил код на:
Цитата |
---|
[url=<?echo $arItem[]<?echo "&use_temp="?><?echo $arItem['PROPERTIES']['use_temp']['VALUE']?>"> <?echo $arItem["NAME"]?>[/url]<br /> |
может криво, но работает