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

Как задействовать несколько хедеров и футеров в одном шаблоне сайта?

00 голосов
6
Здравствуйте.

Есть проблемка.
требуется что-бы на разных уровнях сайта ( в разных разделах ) подключались разные хедеры и футеры. дизайн такой.
подскажите как это можно в битриксе сделать.
ведь стандартно в шаблоне страницы подключаются хедер и футер из текущего шаблона сайта ... и все.
свой шаблон страницы я добавил, все хорошо, но как-бы еще и иной хедер с футером туда подставлять.
спросил 15 Сен, 13 от MeJlKyy (180 баллов)

6 Ответы

00 голосов
создаете несколько шаблонов, затем в "Настройки"-"Настройки продукта"-"сайты"-"список сайтов"-"ваш сайт" и в самом низу страницы прописываете условия когда какой шаблон подключать, можно для раздела, можно для отдельного файла.... вобщем увидите.
ответил 18 Сен, 13 от Poleolog (1,240 баллов)
00 голосов
Если совсем разные шаблоны верстки, то через "настройки сайта" в админке, условия "для папки или файла".
Если разница небольшая, скажем какой-то контрол лишний, баннер или телефончик, а все остальное одинаковое то проще и удобнее вставить в шаблон условие вида <?if($APPLICATION->GetCurDir()..., так проще потом изменения вносить, особенно в цсс.
ответил 16 Дек, 13 от Eddie (2,060 баллов)
00 голосов
Цитата
Андрей Шилов пишет:
создаете несколько шаблонов, затем в "Настройки"-"Настройки продукта"-"сайты"-"список сайтов"-"ваш сайт" и в самом низу страницы прописываете условия когда какой шаблон подключать, можно для раздела, можно для отдельного файла.... вобщем увидите.

O, благодарю, это уже почти то что нужно.
дело в том что количество папок может быть большое, ни одна какая-то папка.
наверное мне нужно использовать условие "выражение PHP", но как и что прописывать в строке условия? И как это контролировать на соответствующих страницах?
может кто-то сталкивался с таким? простенький примерчик?
ответил 31 Март, 14 от MeJlKyy (180 баллов)
00 голосов
Цитата
Дмитрий Якинцев пишет:
Если разница небольшая, скажем какой-то контрол лишний, баннер или телефончик, а все остальное одинаковое то проще и удобнее вставить в шаблон условие вида <?if($APPLICATION->GetCurDir()..., так проще потом изменения вносить, особенно в цсс.

да, в плане вноса изменений в CSS так конечно удобнее...
идеальный вариант, если-бы в шаблоне страницы можно было-бы как грузить другой файл с хедером и футером, и все в одном шаблоне сайта. тогда и CSS один на всех... да и все остальное в шаблоне.
неужели нет такой возможности?
ответил 24 Июль, 14 от MeJlKyy (180 баллов)
00 голосов
Цитата
Alexander M. пишет:
O, благодарю, это уже почти то что нужно.
дело в том что количество папок может быть большое, ни одна какая-то папка.
наверное мне нужно использовать условие "выражение PHP", но как и что прописывать в строке условия? И как это контролировать на соответствующих страницах?
может кто-то сталкивался с таким? простенький примерчик?


Как подметил Дмитрий, если изменения в шаблоне не слишком большие, например есть у нас папки PAPKA1 и PAPKA2 и допустим в них надо вывести какой нибудь блок, тогда делаем так:

Код
<?
if( substr_count($APPLICATION->GetCurDir(),"/PAPKA1/")==1 || substr_count($APPLICATION->GetCurDir(),"/PAPKA2/")==1):
?>

выводим чтонибудь для разделов PAPKA1 и PAPKA2

<?endif?>



а если шаблоны сильно различаются, то можно это же условие вставить в админке

"Настройки"-"Настройки продукта"-"сайты"-"список сайтов"-"ваш сайт"

выбираем шаблон - "выражение PHP" и пишем туда например:

Код
substr_count($APPLICATION->GetCurDir(),"/PAPKA1/")==1 || substr_count($APPLICATION->GetCurDir(),"/PAPKA2/")==1
ответил 25 Ноя, 14 от Poleolog (1,240 баллов)
00 голосов
а вообще если хотите просто подключать хидеры и футеры, кто вам мешает сделать пустой шаблон вида:
Код
<html>
<head>
<?$APPLICATION->ShowHead()?>
<title><?$APPLICATION->ShowTitle()?></title>
</head>
#WORK_AREA#
</html>


наделать в папке с этим шаблоном заготовки header1.php, footer1.php, header2.php, footer2.php, header3.php, footer4.php и т.д. ваших дизайнов. А в настоящем header.php и footer.php, проверять в каком месте сайта мы находимся и подключать нужный:


Код
require_once(SITE_TEMPLATE_PATH."/header1.php");
.....
require_once(SITE_TEMPLATE_PATH."/footer1.php");


CSS будет один и тотже. Но я так не делал, просто подумал об этом щас :)
ответил 21 Март, 15 от Poleolog (1,240 баллов)

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

0 голосов
4 ответов
0 голосов
6 ответов
0 голосов
2 ответов
0 голосов
6 ответов
спросил 21 Окт, 13 от Keis (160 баллов)