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

OC2 - Назначить единый язык формирования накладной в мультиязычном сайте


Recommended Posts

Ребята, свем доброго времени суток.

 

Нужна подсказка, в наличии мультиязычный сайт  (2 языка) движок OC2.

 

Проблема: Есть единый шаблон накладной, который по стандарту для всех заказов должен быть на едином языке. Но, при формировании инвойса, для каждого отдельного заказа OC подставляет язык который был выбран пользователем при работе в фронте. Что соответственно влияет на на наименования товаров и опциии а так же лэйблы почтовых услуг, ваучеров и пр. 

 

Задача: в Order контроллере админки, метод invoice, по возможности нативными средствами OC (без доп. запросов к базе) добыть информацию о продуктах и опциях по id нужного языка. Может есть возможность в индексе явно задать язык с которым необходимо работать?

Вопрос: Как реализовать?

 

Заранее благодарю :)

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


так изначально инвойс в админке формируется на языке, используемом именно в админке - ему чихать на фронт

ну или я что-то не понял..

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

так изначально инвойс в админке формируется на языке, используемом именно в админке - ему чихать на фронт

ну или я что-то не понял..

Хм, Странно.. Тогда почему у меня получается так, что в таблице order_product к определённым айдишникам заказов привязаны товары у которых записи в поле name явно на разных языках? :(

Причём видно, что в каждом заказе наименования товаров чётко на языке фронта, под которым клиент оформил заказ.

Вот:

post-677609-0-02906500-1458775626_thumb.png

post-677609-0-28716100-1458775626_thumb.png

 

Или я чего то не понимаю или они что-то намудрили в движке. Есть же поле product_id, почему не вытаскивать товар по его идентификатору и id языка из таблицы product_description?

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


Или я чего то не понимаю или они что-то намудрили в движке. Есть же поле product_id, почему не вытаскивать товар по его идентификатору и id языка из таблицы product_description?

Потому что, скажем так, "фискальная" информация должна храниться в заказе в том виде, в каком она была на момент заказа. Название, цена и т.п. Потому что иначе возможна ситуация, когда сегодня покупатель сделал заказ на босоножки по 10, а у вас как раз была переоценка, переучёт или вообще перестройка - и вы у некоторых товаров поменяли цену, а некоторые вообще переименовали-переделали. И записав в базу только ID товаров и опций, можете получить их значения в момент заказа и в момент просмотра совсем разными.

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


Потому что, скажем так, "фискальная" информация должна храниться в заказе в том виде, в каком она была на момент заказа. Название, цена и т.п. Потому что иначе возможна ситуация, когда сегодня покупатель сделал заказ на босоножки по 10, а у вас как раз была переоценка, переучёт или вообще перестройка - и вы у некоторых товаров поменяли цену, а некоторые вообще переименовали-переделали. И записав в базу только ID товаров и опций, можете получить их значения в момент заказа и в момент просмотра совсем разными.

Пожалуй да, если смотреть с позиции целостности информации Вы правы, здесь я подумал только о прайсах и состоянии опций, вероятность переименования товара упустил.

Вижу проблема начинает размножаться :) Тогда какой выход? При оформлении заказа писать дубли на обоих языках? Т.к. для инвойса нужен всего один, и по умолчанию он не всегда присутствует(как оказалось).

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


Пожалуй да, если смотреть с позиции целостности информации Вы правы, здесь я подумал только о прайсах и состоянии опций, вероятность переименования товара упустил.

Вижу проблема начинает размножаться :) Тогда какой выход? При оформлении заказа писать дубли на обоих языках? Т.к. для инвойса нужен всего один, и по умолчанию он не всегда присутствует(как оказалось).

 

видимо, разработчики считали что наличие поля model - достаточно для идентификации товара по нему

model как раз не зависит от языка

 

как вариант - можно изменить получение названия товара в инвойсе

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

 

из подводных камней - возможны проблемы если товар с этим product_id был удален из БД, или же был полностью изменен

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

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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