Вывод ссылки на версию раздела в зависимости от версии сайта

#
Вывод ссылки на версию раздела в зависимости от версии сайта
Добрый день!

Сайт на двух языках: имею два раздела с одинаковой структурой /ru и /en

Задача: например если мы находимся в русской версии сайта (/ru) то на страницах выводить ссылку на английскую версию страниц

То есть находимся в site.ru/ru/about, кликаем на ссылку и попадает в site.ru/en/about


Толи где-то это уже обсуждалось здесь, очень надо - встрял с интеграцией и сдачей сайта 8(
ку
Модератор
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
compaq,
привожу пример от одной из интеграций:
         if (strncasecmp(CURRENT_URL_PATH, '/eng/', 5) == 0)
         {
            // Активна англ. версия.
            $style_en = 'color: #A7ABAC;';               
            $style_ru = 'color: #E8E8E8;';
            
            $link_ru = substr_replace(CURRENT_URL_PATH, '', 0, 4);
            $link_ru = '<a href="'.$link_ru.'" style="'.$style_ru.'">ru</a>';
            
            $link_en = '<span style="'.$style_en.'">en</span>';
         }
         else
         {
            // Активна русская версия.
            $style_en = 'color: #E8E8E8;';               
            $style_ru = 'color: #A7ABAC;';   
            
            $link_en = '/eng'.CURRENT_URL_PATH;
            $link_en = '<a href="'.$link_en.'" style="'.$style_en.'">en</a>';
            
            $link_ru = '<span style="'.$style_ru.'">ru</span>';
         }
если не /eng/, а /en/, то условие будет:
if (strncasecmp(CURRENT_URL_PATH, '/en/', 4) == 0)
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
Спасибо за отклик!
Я далее спрошу тупой вопрос - но что и куда?
Изменения в Типовой? А как вывести в макете, шаблоне?

Я пока туплю
ку
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
HostCMS честно говоря так и не понял как добиться вывода ссылки.
ку
Модератор
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
compaq,
это код для макета. Вставьте и посмотрите
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
дело в том что вставляю

<?php
if (strncasecmp(CURRENT_URL_PATH, '/en/', 4) == 0)
         {
            // Активна англ. версия.
            $style_en = 'color: #A7ABAC;';
            $style_ru = 'color: #E8E8E8;';

            $link_ru = substr_replace(CURRENT_URL_PATH, '', 0, 4);
            $link_ru = '<a href="'.$link_ru.'" style="'.$style_ru.'">ru</a>';

            $link_en = '<span style="'.$style_en.'">en</span>';
         }
         else
         {
            // Активна русская версия.
            $style_en = 'color: #E8E8E8;';
            $style_ru = 'color: #A7ABAC;';

            $link_en = '/eng'.CURRENT_URL_PATH;
            $link_en = '<a href="'.$link_en.'" style="'.$style_en.'">en</a>';

            $link_ru = '<span style="'.$style_ru.'">ru</span>';
         }
        
         ?>



Но что-то ничего не появляется.
Находясь как в разделе /ru так и в /en

Может какие-то подводные камни есть, или в коде править что нужно еще.
ку
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
и все-таки? разьясните почему не работает..
на момент написания данной темы - версия была скачана с сайта, вставляю выше код в макет как php и ничего -)

два раздела www.site.ru/ru и www.site.ru/en, один макет для них
ку
Модератор
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
Не работало, т.к. забыли вывести сгенерированные ссылки.
<?php
if (strncasecmp(CURRENT_URL_PATH, '/eng/', 5) == 0)
{
   // Активна англ. версия.
   $style_en = 'color: #A7ABAC;';
   $style_ru = 'color: #E8E8E8;';

   $link_ru = substr_replace(CURRENT_URL_PATH, '', 0, 5);
   
   ?><a href="<?php echo $link_ru?>" style="<?php echo $style_ru?>">ru</a>
   <span style="<?php echo $style_en?>">en</span><?php
}
else
{
   // Активна русская версия.
   $style_en = 'color: #E8E8E8;';
   $style_ru = 'color: #A7ABAC;';

   $link_en = '/eng'.CURRENT_URL_PATH;
   
   ?><a href="<?php echo $link_en?>" style="<?php echo $style_en?>">eng</a>
   <span style="<?php echo $style_ru?>">ru</span><?php
}
?>
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
Cпасибо, надеюсь заработает.
Очень помогли! respect =)

Вопрос - c select не сложно провернуть следующее? сложно ли

Чтобы при нахождении в разделе - option был выбранный соответственно как selected="selected", перешли в другой раздел и option selected="selected" изменился.

имею два раздела - шоу (корень, /) и школа (/school)

Ниже код соответствует нахождению в корне сайта 'шоу', после перехода в /school выбранный option должен измениться на 'школа' (ну и у первого его value соответственно)

<label for="menu">Выберите раздел сайта:</label> <select name="menu" onchange="window.location=value;" id="menu">
<option selected="selected">шоу</option>
<option value="/school">школа</option>
</select>


Макеты шоу и школы просто одинаковые  и не хочется делать два макета изменяя в них только параметр у option ...
ку
#
Re: Вывод ссылки на версию раздела в зависимости от версии сайта
а как быть,если три языка на сайте?
Авторизация