0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 502 Просмотров
*

Acme

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Всем привет!
Такой вопрос. В шаблоне прописан URL на одну страницу ( к примеру, на русском языке ):
Код
 <h2><a href="http://ссылка/internets"><?php echo JText::_( 'TPL_LINKTI_HOME_PACKAGES_TITLE' ); ?>  </a></h2>
Как можно сделать, чтобы при переключении языка менялась ссылка? То есть, прописать в шаблоне две ссылки.
« Последнее редактирование: 15.03.2017, 12:30:15 от Acme »
*

SeBun

  • Живу я здесь
  • 3614
  • 231 / 3
  • @SeBun48
Re: Ссылки
« Ответ #1 : 15.03.2017, 12:18:36 »
Нет. TPL_LINKTI_HOME_PACKAGES_TITLE - это константа, содержащая, как я понимаю из названия, заголовок страницы. Где то в файлах шаблона есть файл локализации, в котором и прописан перевод. Например, там может быть такая строка:
Код: php
TPL_LINKTI_HOME_PACKAGES_TITLE = "This is title";

Ваша задача - найти этот файл. Обычно для каждого языка делается отдельная папка с префиксом языка и файл с префиксом, например en_EN.templatelang.ini, ваша задача сделать копию этого файла, изменить префикс на ru_RU и перевести его содержимое. Локализация может быть в папках language движка (их две, одна для админки).
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

Acme

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Нет. TPL_LINKTI_HOME_PACKAGES_TITLE - это константа, содержащая, как я понимаю из названия, заголовок страницы. Где то в файлах шаблона есть файл локализации, в котором и прописан перевод. Например, там может быть такая строка:
Код: php
TPL_LINKTI_HOME_PACKAGES_TITLE = "This is title";

Ваша задача - найти этот файл. Обычно для каждого языка делается отдельная папка с префиксом языка и файл с префиксом, например en_EN.templatelang.ini, ваша задача сделать копию этого файла, изменить префикс на ru_RU и перевести его содержимое. Локализация может быть в папках language движка (их две, одна для админки).
Вы меня не совсем так поняли. Где константы менять я знаю, вопрос в другом - ссылки. Дело в том, что, к примеру, при нажатии на заголовок "Акции" переходит все время на одну и туже страницу. То есть, как видно из кода на эту http://ссылка/internets, как сделать, чтобы при русской локализации переходило на http://ссылка/internets, а, к примеру, в англ.версии на http://ссылка/internets-en? В моем представлении можно это организовать через PHP (IF), но я пока-что не могу понять как это можно реализовать.
*

SeBun

  • Живу я здесь
  • 3614
  • 231 / 3
  • @SeBun48
Теперь понял )

В этом случае вам нужно перед выводом ссылки поставить условие, в котором будет определяться язык пользователя и в соответствии с ним будет формироваться адрес. Пример, как получить текущий язык. Сможете самостоятельно сделать?
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

Acme

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
К сожалению, самостоятельно наврятли получится. Может знаете ссылку на более приближенной вариант к текущей теме?
*

SeBun

  • Живу я здесь
  • 3614
  • 231 / 3
  • @SeBun48
Строку:

Код: php
<h2><a href="http://ссылка/internets"><?php echo JText::_( 'TPL_LINKTI_HOME_PACKAGES_TITLE' ); ?>  </a></h2>

замените на:

Код: php
<h2><a href="http://ссылка/internets"><?php 

$app = JFactory::getApplication();
 
// Определяем язык из cookies
$langCode = $app->input->cookie->getString(JApplication::getHash('language'));
 
// Если cookies не установлены, используем язык обозревателя
if (!$langCode)
{
    $langCode = JLanguageHelper::detectLanguage();
}

if ($langCode == 'ru-RU') {
      echo 'ru/' . JText::_( 'TPL_LINKTI_HOME_PACKAGES_TITLE' );
}
else {
     echo 'en/' . JText::_( 'TPL_LINKTI_HOME_PACKAGES_TITLE' );
}
?>  </a></h2>

Не знаю, будет ли работать, набросал вам пример из предложенного кода. Здесь выполняется проверка, какой язык установлен, и в зависимости от этого формируется ссылка (в моем случае подставляет паку ru и en в адрес). Модифицируйте под себя.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

fsv

  • Живу я здесь
  • 2571
  • 375 / 2
Вариант проще и универсальнее (языков может быть много):
Код: html4strict
<h2><a href="<?php echo JText::_('TPL_LINKTI_HOME_PACKAGES_TITLE_LINK'); ?>"><?php echo JText::_( 'TPL_LINKTI_HOME_PACKAGES_TITLE' ); ?></a></h2>
ru-Ru
Код: html4strict
TPL_LINKTI_HOME_PACKAGES_TITLE_LINK="https://www.google.ru/"
en-En
Код: html4strict
TPL_LINKTI_HOME_PACKAGES_TITLE_LINK="https://www.google.com/"

Веб-разработка: заказ.
*

Acme

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Спасибо всем за помощь! Воспользовался вариантом от fsv. Благодарю, fsv.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нету переключения языков

Автор palexa

Ответов: 7
Просмотров: 1149
Последний ответ 18.02.2018, 13:49:52
от palexa
Модуль Breadcrumbs, стоит ли заменить schema org на ссылки своего сайта?

Автор vad78

Ответов: 5
Просмотров: 412
Последний ответ 02.01.2018, 02:18:30
от vad78
Показ контента языка по умолчанию при отсутствии его перевода на один из языков

Автор vtym

Ответов: 6
Просмотров: 457
Последний ответ 02.12.2017, 14:41:40
от vtym
"Похожие метки" выводит материалы всех языков

Автор lalalag

Ответов: 1
Просмотров: 298
Последний ответ 30.06.2017, 02:07:19
от lalalag
Языков нет вообще

Автор nexirt

Ответов: 11
Просмотров: 1281
Последний ответ 05.12.2016, 10:18:30
от ProtectYourSite