Перевод меню сайта

Post Reply
S_Flash
Posts: 1788
Joined: Mon Mar 08, 2010 9:04 am
Contact:

Перевод меню сайта

Post by S_Flash »

Тут сказанно https://smartcj.com/wiki/doku.php?id=ru ... %D0%B0_i18
и в конце темпелйта

Code: Select all

if ($_GET['force_lng'] and isset($my_keywords[$_GET['force_lng']])) {
  setcookie('force_lng', $_GET['force_lng'], time() + 86400);
  $lang = $my_keywords[$_GET['force_lng']];
} elseif ($_COOKIE['force_lng'] and isset($my_keywords[$_COOKIE['force_lng']])){
  $lang = $my_keywords[$_COOKIE['force_lng']];
}

Все, конец темплейта :)
2. во всех темплейтах где надо будут разные языки инклудим этот созданный темплейт
<!--INCLUDE_TEMPLATE_languages-->
Получается надо вставить <!--INCLUDE_TEMPLATE_languages--> перед <!DOCTYPE html> в темплейтах иначе нет смысла в коде:

Code: Select all

setcookie('force_lng', $_GET['force_lng'], time() + 86400);
, так как установка куки не должна сработать после вывода текста в html ибо она передаётся в хедерах.

Но вставка <!--INCLUDE_TEMPLATE_languages--> перед <!DOCTYPE html> даёт лишний пробел, что противоречит корректному форматированию html

Я гдет-то ошибся или в этом варианте кода не всё ладно, так как у меня лично не работает передача языка между страницами, но это уже скорее другой вопрос.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Перевод меню сайта

Post by admin »

а в самом точно нет пробела?

я сделал


<!--INCLUDE_TEMPLATE_header-->dlkjsfldkj

и сам header типа "121221"

проверил - пробела нет

на тестовых темплейтах повторяется проблема?
Don't forget to run script update
S_Flash
Posts: 1788
Joined: Mon Mar 08, 2010 9:04 am
Contact:

Re: Перевод меню сайта

Post by S_Flash »

точно, был пробел в конце

дк, я правильно понял, что <!--INCLUDE_TEMPLATE_header--> надо самым первым символом в темплейте инклудить?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Перевод меню сайта

Post by admin »

да, верно
Don't forget to run script update
Post Reply