Универсальный шаблон для иностранных страниц вашего сайта на битриксе

Возникла мысль: использовать один шаблон с англоязычными элементами в оформлении шапки сайта для 4 разных сайтов (вместо бывших 4 разных шаблонов).
Эти сайты лежат в папках в корне сайта, контент сайтов на 4 языках — турецкий, китайский, испанский, английский. Инфоблоки для каждого сайта отдельно, набор страниц тоже.
Дальше что нужно — в header подключать какие-то куски кода (например, разные мета-описания и ключевые слова).
Для этого делаем отдельный include на каждую папку сайта.
 
p.s.: решение выполнено и представлено для сайтов Белгородского государственного университета, а именно:
На вышеуказанных сайтах реализован выбор по «путям» , какие будут подключаться картинки с логотипом (в зависимости от версии сайта), какие иконки в боковых полях, а так же служебные файлы — для СЕО, для панеделй яндекс-вебмастер, гугл, метрики, аналитики и прочие пузомерки. Привожу часть кода, где суть будет понятна.
 
p.s.: соглашение о «конфиденциальности» мною не подписывалось, проактивный фильтр битрикса и «ломануть» при желании обойти всегда можно, если знать как =)
 
<?
$host = ‘http://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
$lang_array = explode(«/», $host);
$lang = $lang_array[3];
if ($lang == ‘en’){require($_SERVER[«DOCUMENT_ROOT»].»/include_lang/en.php»);} else
if ($lang == ‘spain’){require($_SERVER[«DOCUMENT_ROOT»].»/include_lang/spain.php»);} else
if ($lang == ‘china’){require($_SERVER[«DOCUMENT_ROOT»].»/include_lang/china.php»);} else
if ($lang == ‘turkey’){require($_SERVER[«DOCUMENT_ROOT»].»/include_lang/turkey.php»);}
?>
<map name=»FPMap0″ id=»FPMap0″>
<area href=»http://www.bsu.edu.ru/<?=$lang?>/index.php» shape=»rect» coords=»1, 1, 50, 100″ title=»Belgorod National Research University» /></map>
<?
if ($lang == ‘en’):
$img_logo = logo_english;
elseif ($lang == ‘spain’):
$img_logo = logo_spain;
elseif ($lang == ‘china’):
$img_logo = logo_china;
elseif ($lang == ‘turkey’):
$img_logo = logo_turkey;
endif
?>
<img src=»images/header/<?=$img_logo?>.jpg» id=»logo» border=»0″ width=»460″ height=»80″ usemap=»#FPMap0″ alt=»Belgorod National Research University»>
<?if ($lang == ‘en’):?>
<?$APPLICATION->IncludeFile(«search/search_form.php», Array(«SEARCH_PAGE» => SITE_DIR.»search/index.php»));?>
<?endif?>
 


 

Апдейт записи через два дня — посетила уникальная мысль

для сайтов
http://www.bsu.edu.ru/en/
http://www.bsu.edu.ru/china/
http://www.bsu.edu.ru/spain/
http://www.bsu.edu.ru/turkey/
анализируется адрес в переменной $host, затем отсекаются символы слэша функцией explode, в переменную записываются как массив полученные значения:
$lang_array[0] = en
$lang_array[1] = china
$lang_array[2] = spain

$lang_array[3] = turkey

значит код укоротим:

<?$host = ‘http://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
$lang_array = explode(«/», $host);
$lang = $lang_array[3];
require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/templates/bsu_red_blue_english/include_lang/».$lang.».php»);

?>

если надо инклудить отдельно файлы, то вписываем всего одну строчку:
 
<?require($_SERVER[«DOCUMENT_ROOT»].»/bitrix/templates/bsu_red_blue_english/include_lang/include_».$lang.».php»);?>
 
и обзывать файлы:
include_en.php
include_china.php
include_spain.php
include_turkey.php

Понравилась моя запись?
Кликни по рекламному баннеру на этом сайте. Тебе бесплатно и не сложно, а мне - честный заработок блогом и приятное дополнение к энтузиазму на чашку кофе :-)