Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

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

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

 

Нужна подсказка, в наличии мультиязычный сайт  (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 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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