Вопрос № 126555: Здравствуйте, уважаемые участники форума!
У меня очень важная такая проблема:
Сайт состоит из 6 страниц на 4 языках: англ., немец., русс. и на укр.
Как можно сделать так чтобы когда нажимаем на ссылку, например:
http://mysite.ru/?...
Вопрос № 126.555
Здравствуйте, уважаемые участники форума!
У меня очень важная такая проблема:
Сайт состоит из 6 страниц на 4 языках: англ., немец., русс. и на укр.
Как можно сделать так чтобы когда нажимаем на ссылку, например:
http://mysite.ru/?lang=en&?page=2 открылся соответствующая страница, т.е. вторая страница англ. версии и т.д.
Если например: http://mysite.ru/?lang=ru&page=5 открылся 5-ая страница русского?
Заранее спасибо! Это сейчас очень важно.
Отправлен: 09.03.2008, 18:40
Вопрос задал: Sherland (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: magnifiko
Здравствуйте, Sherland!
Вариантов масса. Например:
switch ($lang):
case "ru":
switch ($page):
case 1: $text="Страница 1 на русском"; break;
case 2: $text="Страница 2 на русском"; break;
case 3: $text="Страница 3 на русском"; break;
case 4: $text="Страница 4 на русском"; break;
case 5: $text="Страница 5 на русском"; break;
endswitch;
break;
case "en":
switch ($page):
case 1: $text="English page #1"; break;
case 2: $text="English page #2"; break;
case 3: $text="English page #3"; break;
case 4: $text="English page #4"; break;
case 5: $text="English page #5"; break;
endswitch;
break;
endswitch;
echo $text;
if ($page<5) echo "<a href='?lang=".$lang."&page=".++$page."'>К следующей</a>"; // Ну, тоже сделать зависимым от выбранного языка
?>
Можно сделать и инклюды, если содержимое страниц большое. В первую очередь - от желания звисит.
Ответ отправил: magnifiko (статус: 1-ый класс)
Ответ отправлен: 09.03.2008, 19:13
Отвечает: Иван Сергеевич
Здравствуйте, Sherland!
В предыдущем Вашем вопросе Вы уже предлагали вариант с различными индексными файлами (indexru.php, indexen.php) и тд. Данный механизм аналогичен. В зависимости от $_REQUEST["lang"] Вы перенаправляете пользователя на соответствующую индексную страницу, а уже там обрабатываете номер страницы. Это можно сделать как с помощью модуля Apache mod_rewrite, так и через header'ы или include_once() языка php.
В общем я бы предложил проанализировать контент данных страниц. Если на страницах разных языков выводятся, скажем, статьи (одни и те же, но на разных языках), то проще делать одну индексную страницу, на которой в зависимости от полученной переменной $_REQUEST["page"] инклюдить (или забирать из БД, если так реализовано) тексты страниц, названия меню навигации. Таким образом не надо будет изменять интерфейс всех 4х страниц при желании добавить колонку последних статей или блок рекламы - ведь Вы разделите
собственно код самой страницы (веб-интерфейс) и содержимое.
К сожалению, подробностей от Вас поступило немного, так что и ответы скорее общие.
Ответ отправил: Иван Сергеевич (статус: 3-ий класс)
Ответ отправлен: 09.03.2008, 19:56
Отвечает: Шпилевский Евгений Васильевич
Здравствуйте, Sherland!
Если ваши страницы лежат в разных файлах, то можно сделать примерно так:
$a = array("ru" => array("page1.htm","page2.htm","page3.htm","page4.htm","page5.htm"),"en" => array("pageen1.htm","pageen2.htm","pageen3.htm","pageen4.htm","pageen5.htm"),"uk" => array("pageuk1.htm","pageuk2.htm","pageuk3.htm","pageuk4.htm","pageuk5.htm"));
и соответсвенно в переменной $a[$lang,$id] будет находится имя файла. Дальше его можно прочесть и вывести на экран, например так: