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

Сообщения из админки на разных языках

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

Здравствуйте.

Пользуюсь OcStore 2.1.0.2 

В магазине установлено три языка, (причем, русский язык используется только для удобства пользования админкой.)

Все фалы локализации переведены.

 

Столкнулся со следующей проблемой.

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

При отправке писем из админки (изменение статуса заказа, начисление бонусных баллов ) письма отправляются на языке администратора, а не на языке пользователя.

 

Как можно решить эту проблему?

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


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

язык стал записываться в настройки пользователя с версии 2.3
посмотрите как реализовано это в ней или вам в раздел платных услуг

Изменено пользователем thentru

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


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

хотя странно.
я посмотрел обе версии движка. И там, и там язык покупателя сохраняется в заказ
Каким образом у вас создается заказ? Через админку, сторонним модулем или стандартный заказ?

  • +1 1

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


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

заказ и регистрация проходит через модуль  simple checkout

 

Спасибо за наводку!

 

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

попробовал у тестового пользователя сменить id языка в базе и письма стали приходить на нужном языке.

 

Я так понимаю что мне теперь модуль simple checkout ковырять надо....

Изменено пользователем stebgo

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


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

по заказам пишите автору. Но не исключено, что не сохраняется по причине каких-либо доработок/правок

 

В письмах с начислением бонусов нет проверки языка
посмотреть можно тут, метод addReward
admin\model\customer\customer.php

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


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

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

написал 

Quote

Подставляет сам опенкарт в

 

/catalog/model/account/customer.php

 

language_id = '" . (int)$this->config->get('config_language_id')

 

в этом файле у меня нет ни одного намека на запись в бд language_id

 

пробовал в этот код  

$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET customer_group_id = '" . (int)$customer_group_id . "', store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']['account']) ? json_encode($data['custom_field']['account']) : '') . "', salt = '" . $this->db->escape($salt = token(9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");

добавить это

language_id = '" . (int)$this->config->get('config_language_id'). "'

что бы получилось 

$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET customer_group_id = '" . (int)$customer_group_id . "', store_id = '" . (int)$this->config->get('config_store_id') . "', language_id = '" . (int)$this->config->get('config_language_id'). "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']['account']) ? json_encode($data['custom_field']['account']) : '') . "', salt = '" . $this->db->escape($salt = token(9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");

 

несколько раз пробовал, то ошибка 500 то регистрировать не хочет, но в итоге когда писал пост, решил проверить в последний раз и 

все заработало

 

Для баллов я использую как стандартное так и стороннее дополнение. Стандартное приложение стало отправлять вместо русского на английском, и это хорошо. 

Стороннее дополнение начало вести себя адекватно и посылать письма на нужном языке . 

 

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


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

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

вопрос про заказы. Язык для заказов хранится в таблице oc_order
Вы же в ней смотрели, что language_id равен 0?
 

 

46 минут назад, stebgo сказал:

все заработало

интересно... в вашей версии у таблицы oc_customer вообще нет поля language_id и 500 ответ сервера об этом говорит

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


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

нет, меня больше регистрация интересовала, смотрел в таблицу oc_customer 

Посмотрел в oc_order - там все правильно записывало. 

 

500 ответ наверное был от того что я правку в код неправильную внес. так как до правок я таблицу проверял и там это поле уже было. 

В общем не знаю как но оно работает,и это меня радует. 

 

Есть только одна проблема - при печати инвойса заголовки и названия столбцов на языке администратора. Это можно как то вылечить? может модуль какой есть 

Хотел сделать несколько кнопок печати(сколько сколько языков столько и кнопок ) поковырял контроллер, но знаний маловато.

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

 

 

 

Изменено пользователем stebgo

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


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

Есть только одна проблема - при печати инвойса заголовки и названия столбцов на языке администратора

можно в методе invoice admin\controller\sale\order.php добавить проверку языка заказа
по аналогии как это сделано при добавлении истории заказа метод addOrderHistory catalog\model\checkout\order.php

Только все языковые переменные поместить в цикл, чтобы для каждого заказа подгружался свой язык. Т.е. после строки
 

if ($order_info) {

 

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


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

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

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

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

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

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

Войти

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

Войти

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

    • От Setsuna
      Возникла такая интересная закавыка - как известно из коробки, при просмотре товара в категории (или в поиске) при нажатии в миниатюре товара на кнопку в корзину (купить) окстор 2.1.0.2 скролит вверх страницы дабы показать надпись- товар добавлен в корзину.И дабы вернуться к последней просмотренной позиции (и купленой) надо скролить кудато вниз.
      Однако это очень сильно бесит покупателей избалованных алишкой и прочими гигантами большого секса трейда. Отсуда возникает вопрос- каким образом можно победить данную особенность опенкарта(окстора) - гугл не помог, сам не шайтан в программировании , знаю только что работающее лучше или не править или применять окмоды.
      Буду рад конструктивному ответу , в случае необходимости возможно платное сотрудничество, но для начало интересно куда же рыть такие вопросы%) 
    • От DimasLab
      Здравствуйе, где настраивается блок главого меню. Все облазил, не найду как там менять список категории, как добавить новые..

    • От avolkov
      Доброго времени!
      Прописал на сайте автоматическое формирование Title на страницах товаров, если такое не прописано вручную в карточке товара.
      Выглядит код так:
      /catalog/controller/product/product.php
      if ($product_info['meta_title']) { $this->document->setTitle($product_info['meta_title']); } else { $this->document->setTitle(' ᐈ ' .$product_info['name']. ' купить ' .$category_info['name']. '-' ' в Харькове - "Luckymall"'); } Вопрос, как в место, где название категории товара .$category_info['name'].  , указать название родительской категории. К примеру, есть товар "Раковина...." которая находится в категории "Раковины", соответственно в Title будет подтягиваться эта категория, а нам нужно подтянуть название родительской "Сантехника". грубо говоря, нужно показать не главную категорию товара, а категория->>родитель<<-родитель, либо категория-родитель->>родитель<<. Как вызвать это значение в product.php. Я в php чайник, и решения этой задачи не нашел. Может кто подскажет?. Заранее спасибо!
    • От Steelman
      На ocStore 2,1,0,2 через "Установщик дополнений OCMOD"  в панели администратора (как в инструкции к сайту указано)  ставлю шаблон FT_ShopyMobile_v2.1 от компании Focusthemes, шаблон платный, на Opencart.com указано что к версии 2,1,0,2 подходит, но в настройке->управление магазинами--> редактирование настроек магазинами-->Общие--> Шаблон, Доступен только Default
       
      Сайт установился без ошибок и следы его существования присутствуют в файлах на хосте (маленькую привьюшку нашёл)
       
      Первый раз ставлю Опенкарт и шаблон, сильно не ругайтесь если что :-)
    • От oilzzauto
      Интернет-магазин автозапчастей
      Имеется: разработанный дизайн (psd), хостинг, домен.
      Необходимо: сверстать сайт для ocstore 2.1.0.2
      Главная страница, 7 разделов каталога, корзина, без/регистрация, доставка, оплата, личный кабинет, поиск по вин, контакты, пользовательское соглашение, поиск, документы, 404.
      для большего понимания дела смотри вложенный файл.
      Срок: 10-12 дней.
      Жду Ваших предложений!
      Интернет магазин ZigZag для ознакомления 01.pdf
  • Последние посетители   0 пользователей онлайн

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

×

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

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