Jump to content
покупайте без комиссии
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

Пользуюсь OcStore 2.1.0.2 

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

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

 

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

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

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

 

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

Link to post
Share on other sites

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

Edited by thentru
Link to post
Share on other sites

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

  • +1 1
Link to post
Share on other sites

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

 

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

 

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

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

 

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

Edited by stebgo
Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

написал 

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 то регистрировать не хочет, но в итоге когда писал пост, решил проверить в последний раз и 

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

 

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

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

 

Link to post
Share on other sites

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

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

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

 

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

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

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

Link to post
Share on other sites

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

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

 

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

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

 

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

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

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

 

 

 

Edited by stebgo
Link to post
Share on other sites

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

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

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

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

if ($order_info) {

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By Setsuna
      Приветствую!
      Перенес автоматически сайт с одного сервера на другой и выяснилось что работающий ранее adminlangswitch перестал работать(upd - не работает в самой админке, при этом переключает язык админки коректно при выборе языка на станице логина), а в товарах отсутствуют собственно сами товары (только украинский язык).
      Зато появились дополнительные окна выбора Category и столбец  Category
      Код ошибки наводит на следующие мысли:
      1. Переключение между языками админки не работает, как впрочем попытка изменить язык админки на отличный от магазина через локализацию в настройках оказалась неудачной.
      2. Мне кажется что это какой-то косяк с языком с айди 3 (где перепроверить?), точнее уже  уверен что это как раз украинский.
      3 и 4 это похоже на ошибку отсутствия данных (что учитываю корявый синтаксис походу привело к невозможности вывода данных по товарам в админке. В магазине кстати все работает.
       
      теперь вопрос - где сидит этот самый косяк синтаксиса в базе?
              Система Ocsrore 2.1.0.2
      Сервер: Localhost via UNIX socket Тип сервера: MariaDB Версия сервера: 10.3.16-MariaDB - MariaDB Server Версия протокола: 10 Кодировка сервера: UTF-8 Unicode (utf8)  

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

    • By 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 чайник, и решения этой задачи не нашел. Может кто подскажет?. Заранее спасибо!
    • By Steelman
      На ocStore 2,1,0,2 через "Установщик дополнений OCMOD"  в панели администратора (как в инструкции к сайту указано)  ставлю шаблон FT_ShopyMobile_v2.1 от компании Focusthemes, шаблон платный, на Opencart.com указано что к версии 2,1,0,2 подходит, но в настройке->управление магазинами--> редактирование настроек магазинами-->Общие--> Шаблон, Доступен только Default
       
      Сайт установился без ошибок и следы его существования присутствуют в файлах на хосте (маленькую привьюшку нашёл)
       
      Первый раз ставлю Опенкарт и шаблон, сильно не ругайтесь если что :-)
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.