Не нравятся результаты поиска? Попробуйте другой поиск!

Приставка eng/ru в URL


     24.07.2013    Общие вопросы    1795

вопрос
Сделал две локализации шаблона, добавил второй язык, перевел часть материалов на второй язык, но...

Как сделать вывод в URL приставки языка, типа: site.com/eng/mat123.html и site.com/ru/mat123.html? У меня при включенном языке и вводе url с такой приставкой редиректит на материал с языком, который включен на сайте. То есть, если на сайте основным включен ru, то по ссылке site.com/eng/mat123.html пользователя перекидывает на site.com/ru/mat123.html

* делал по уроку Пафнутия - сам урок.

Ответил: Kelly_Jenko


Как бы нашел решение вопроса таким способом:

1. Открываем файл /engine/init.php
2. Ищем:
   if ($_REQUEST['skin_name'] != '' AND @is_dir ( ROOT_DIR . '/templates/' . $_REQUEST['skin_name'] ) ) {
                $config['skin'] = $_REQUEST['skin_name'];
                set_cookie ( "dle_skin", $_REQUEST['skin_name'], 365 );
        }
3. Заменяем на:
    if ($_REQUEST['skin_name'] != '' AND @is_dir ( ROOT_DIR . '/templates/' . $_REQUEST['skin_name'] ) ) {
                $config['skin'] = $_REQUEST['skin_name'];
                set_cookie ( "dle_skin", $_REQUEST['skin_name'], 365 );
                $return_url=getenv("HTTP_REFERER");
                header( 'Location: '. $return_url, 303 );
        }
Правда неудобство вызывает тот факт, что текст отображаемый по ссылке является на выбранном языке. Чтобы он представился на вторичном, следует каждый раз нажимать на кнопку перевода. Добавить ее можно так:
site.com/?action_skin_change=yes&skin_name=Default_ru
site.com?action_skin_change=yes&skin_name=Default_eng

Комментарии пользователей (1)

Kelly_Jenko
1

27 | 11

Kelly_Jenko - 24 июля 2013 23:26 - Юзер

Если у кого-то есть еще какие-то мысли и способы сделать так, чтобы обойтись без нажатия на кнопки выбора языка при каждом чтении материала - высказывайтесь в теме.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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