Передача данных сеанса по ссылке, нажатой на другую страницу сайта, поэтому следующая страница отображается на правильном языке - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть сайт с домашней страницей, встроенной в Wordpress, и некоторые страницы, созданные с помощью Codeigniter. Домашняя страница Wordpress использует очень простой метод для изменения языка сайта - только некоторые ссылки, которые обновляют страницу для альтернативной языковой копии страницы. Страницы CI используют PHP и сеансы для изменения языка.

Идея состоит в том, что, когда посетители оказываются на одной версии домашней страницы или на другой, когда они нажимают на ссылки меню, приводя их в приложение, созданное CIформы, я хотел бы, чтобы эти формы были представлены на языке, который они уже выбрали на главной странице, без необходимости повторного нажатия для изменения языка. Язык сайта по умолчанию - испанский.

Существует только два языковых варианта: испанский и английский, с соответствующими URL-адресами: www.dermusikplatz.com/test и www.dermusikplatz.com/test-en. Формы заявок разделены по странам, но примером может быть www.dermusikplatz.com/argentina/applications. Это прямые ссылки.

Так есть ли способ передать на следующую страницу некоторую информацию о том, по какой ссылке щелкают, чтобы попасть туда, и соответственно установить данные сеанса? Приложение CI было создано кем-то другим, и мои знания PHP все еще находятся на начальном уровне. Это код в заголовке, который управляет языком в формах приложений, созданных CI для сайта:

 <ul id="lang-menu">
        <?php
        foreach(['ES' => 'spanish', 'PT' => 'portuguese', 'EN' => 'english'] as $key => $lang) {
            if($this->session->userdata('site_lang') == $lang)
            {
                echo '<li class="selected">';
                echo   '<span>'.$key.'</span>';
                echo '</li>';
            }
            else
            {
                echo '<li>';
                echo   '<a href="'.base_url().'language/switchLang/'.$lang.'">'.$key.'</a>';
                echo '</li>';
            }
        }
        ?>
      </ul>

с файлами base_lang.php, хранящимися в папках / spanish и / english соответственно.

Любая помощь будет высоко ценится! Просто пытаюсь обернуть мою голову вокруг этого. Спасибо.

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