Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

ПОМОГИТЕ решить задачу по локализации


Recommended Posts

Друзья, добрый день!
Первый раз обращаюсь на форум
Возникла проблема при разработке сайта на Опенкарт 2.3.0.2
Была задача добавить дополнительные поля в карточку товара (Product_info)
Поля добавил, все выводит нормально, и все работает, НО! Сайт на двух языках, в админке я создавал поля для английского и русского варианта как отдельные (не через обработчик языковых версий). Но теперь стоит задача, как вывести например, на русском языке на сайте значение переменной поля русского языка, а на английской версии вывести значение переменной английского языка?..Либо вывести блок с русскими значениями в русской версии, а блок с английскими значениями в английской версии сайта
Буду благодарен за любой совет.
Может возможно сделать проверку на тот либо другой язык..

Змінено користувачем panevin03
Надіслати
Поділитися на інших сайтах


Ну например:

if($this->session->data['language'] == 'ru-ru'){
  $data['variable'] = $product_info['variable'];
}else{
  $data['variable'] = $product_info['variable_2'];
}

 

где:

ru-ru - код языка соответственно

$data['variable'] - переменная которая идет в шаблон

$product_info['variable'],  $product_info['variable_2'] - то что надо в зависимости от языка

Надіслати
Поділитися на інших сайтах

Только что, panevin03 сказал:

хм...а где эти строки нужно вписывать в catalog/controller/product/product.php ?
я вроде так и делал, но вместо кода ru-ru написал просто ru

В том файле и надо

что бы понять коды языков просто выведите в контроллере значение 

$this->session->data['language']

но должны быть такими ru-ru и en-gb - для англ

Надіслати
Поділитися на інших сайтах

2 минуты назад, panevin03 сказал:

сейчас попробую так сделать
а критично в каком месте в контроллере вставлять код?

 

нет, но примерно в этом районе можно

$data['model'] = $product_info['model'];

Надіслати
Поділитися на інших сайтах

но почему-то не срабатывает..хотя переменные есть, может нужно еще и в product.tpl вывести отдельным блоком эти переменные? потому что у меня выведены только все поля без индекса _en

Надіслати
Поділитися на інших сайтах


Ну в шаблоне само собой выведите <?php echo $color_custom; ?> и обновите кеш модификаторов

Надіслати
Поділитися на інших сайтах

теперь при таких манипуляциях, в русской версии отображается переменная на русском язке, а в английской вообще пропало это поле для отображения

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

2 минуты назад, Exploits сказал:

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

да-да) Вы правы) у меня все получилось!)))
СПАСИБО ВАМ ОГРОМНОЕ!)

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.