Перейти к содержанию

Рекомендуемые сообщения

Друзья, добрый день!
Первый раз обращаюсь на форум
Возникла проблема при разработке сайта на Опенкарт 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'] - то что надо в зависимости от языка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, 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; ?> и обновите кеш модификаторов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пробую) отпишусь скоро, не пропадайте пожалуйста))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

image.thumb.png.d9bc278b5ba0bbdb819736ee1b4d8301.png

вот так, либо нужно выводить только одну переменную?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Exploits сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я забыл для теста внести значение на английском языке в админке)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От amaster
      Добрый день, зашел сегодня на сайт, а там вот это. Файлы не трогали, ничего не меняли, просто в один день сломался. Есть идеи как, почему и как исправить. Заранее благодарен!

    • От fedorenkostas
      Перевод через админку
      Скачать/Купить дополнение Модуль для перевода сайта и админки через админ. панель.
      В OpenCart переводы находятся в файлах на сервере, что усложняет возможность перевода для обычного пользователя.
      Данный модуль дает возможность добавить/изменить/удалить переводы через админ. панель.
      Будет очень полезен для тех кто хочет установить тему которая не поставляется с нужным Вам языком.
      Добавил fedorenkostas Добавлено 14.11.2016 Категория Языковые пакеты Системные требования php 5.2+ Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.2 ocStore 2.2 OpenCart.Pro, ocShop  
    • От lolwe
      Добрый день. 

      Сегодня закончил написания скрипта, который упростит процесс добавление нового языка на уже существующий сайт opencart.

      Его принцип очень прост: 
      1) Выгружаете свой существующий язык с действующего сайта
      2) Скачиваете новый пакет локализации 
      3) Скрипт сравнивает строки в файлах и объединяет их в один, комбинированный. 

      Остается только перевести строки, которые остались отсутствовали в новом пакете локализации.

      Детальная инструкция по использованию на gitgub. 

      Спасибо за внимание. 
    • От Vorodisa
      Всем привет! Проблема давняя, но не обращал внимания, пока не заблочили проверяющие маркета. При оформлении заказа на последнем действии, после нажатия на кнопку "все данные верны, оформить заказ" страница подвисает и клиентам кажется, что они его не отправили. Если нажать несколько раз, то выходит ошибка. А заказы отправляются в статус неудавшиеся(или ошибочные -не помрю).
      Пробовал в теме выключать заказ и оформлял через стандартное оформление, беда такая же. 
       
      Тема unishop
      oCstore 2.3
      ulbest.ru
       
      Как можно решить? Как понять какой скрипт лезит.
       
      Хостинг говорит у нас все гуд, быстро оформляет. (Fozzi), но проблема и в рег.ру была. 

    • От rozario888
      Приветы!
       
      С такой проблемкой столкнулся, может чем поможете идейно или кейсом:
      есть атрибуты габаритов, которые идут в метрах http://prntscr.com/jaenwv. Я создал новую единицу длины (метр), сделал ее по умолчанию, дальше модулем АОП перевел атрибуты в соответствующие размеры во вкладку данные (карточке товара). Но тут-то и засада, в карточке товара все равно остается сантиметр http://prntscr.com/jaenwv и как выяснилось, в новой единице длины будут только новые товары. Как у всех существующих торов в карточке изменить единицу длины с сантиметров на метры, кроме как руками?! Или как конвертирование установить, чтобы в карточку метры в сантиметры пересчитались?!
      В общем как быть в такой ситуации 
       
       
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.