Цитата |
---|
Задача у меня такая, для детальной страницы элемента каталога необходимо применить другой шаблон! |
Код |
---|
if (CComponentEngine::ParseComponentPath("/catalog/", array("section" => "#SECTION_CODE#.html", "element" => "#SECTION_CODE#/#ELEMENT_ID#.html"), // сюда ваше чпу для кoроче $arVariables ) == 'element') define('ELEMENT_PAGE', true); |
Цитата |
---|
MakTpaxep пишет:
Она и определяет какой компонент будет подключен. Если она равна 'element', то значит catalog.element подключится, вернее то, что подключается в файле element.php в шаблоне. Я в тему? |
Цитата | ||
---|---|---|
Александр Kyдин пишет:
но выбор шаблона САЙТА происходит ещё до выполнения страницы с компонентами.. это если автор имел ввиду шаблон САЙТА отдельный для элемента каталога... если он про шаблон компонента - то да) |
Цитата |
---|
Евгений Смолин пишет:
О как сложно, а не проще применять шаблон по условию в юрле. Стандартная, кстати, возможность. Будет у вас для детальной страницы свой собственный шаблон, причем полностью весь уникальный. Ну а чтобы поменьше гемора со стилями было, положите единый template_style.css в шаблон .default и с любого другого шаблона его подключайте в header. Тогда у вас css закешируется и лишний раз подгружаться не будет, да и править 1 файл проще, чем выполнять синхронизацию в нескольких. И все это без костылей по поводу передачи в компоненту переменной. Кстати, сталкивался с такой штукой у клиента - для файла detail.php объявлялась глобальная переменная, по которой в шапке сайта менялись подключаемые библиотеки. Шмешно, но работало |
Код |
---|
$element_code="test"; require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); |
Код |
---|
if($element_code=="test") |
Код |
---|
(strpos( $APPLICATION->GetCurDir(), '/catalog/' ) !== false && preg_match( '~\/([0-9]+)\/~',$APPLICATION->GetCurDir())) |