изменить URL текущей страницы для ссылки на французскую версию - PullRequest
3 голосов
/ 25 ноября 2011

Я создаю клиентский сайт с английской и французской версиями.

На английских страницах я бы хотел, чтобы пользователи могли нажимать ссылку "французская версия", которая автоматически переводила бы их на французскийверсия НА ЭТОЙ СТРАНИЦЕ.

Так что, если моя структура URL выглядит следующим образом:

http://mysite.com/en/page-name

Я бы хотел, чтобы ссылка «французская версия» указывала на точкуto:

http://mysite.com/fr/page-name

Может кто-нибудь предложить мне php, чтобы взять URL текущей страницы и заменить / en / for / fr / в коде ссылки?Я знаю, что это, наверное, что-то очень простое, но я новичок в PHP.

1 Ответ

4 голосов
/ 25 ноября 2011

В вашем шаблоне страницы или рендеринга просто используйте это для вашей ссылки. Предположим, что текущий язык хранится в переменной с именем $ current_lang. Вверху вашей страницы добавьте этот код (он не обязательно должен быть вверху, просто где-то перед тем, как пытаться использовать ссылку):

<?php
$french_link = str_replace("/$current_lang/",  '/fr/', $_SERVER['REQUEST_URI']);
?>

Теперь просто используйте $ french_link в качестве ссылки на эту страницу. Так что в вашей якорной ссылке используйте это:

<a href="<?php echo $french_link; ?>">French Version</a>

Обратите внимание, что на большинстве серверов включены «короткие теги» PHP, поэтому вы можете использовать это для своей ссылки:

<a href="<?= $french_link; ?>">French Version</a>

Синтаксис <? = Это просто сокращение для <? Php echo. Я лично предпочитаю этот синтаксис, но есть много людей с другой стороны, у которых есть веские причины не использовать его. Подробнее см. <a href="/154140/yavlyaytsya-li-korotkie-tegi-php-priemlemymi-dlya-ispolzovaniya"> в этом обсуждении .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...