chukcha Спасибо за наводку!
Накидал кое что, в результате - язык поменялся только для данных товаров и их опций прикреплённых к заказу, всё, что касается методов доставки и оплаты, а так же тексты VAT Total и пр. остались на языке пользователя заданном в FE. В свою очередь, контроллер checkout игнорирует set('config_language') и как я понял забирает код языка из $this->session->data['language'].
Поробовал принудительно задать значение для session->data['language'] для checkout , результат - сменился язык для методов достки и оплаты в шаблоне. Есть возможность запоминать язык FE пользователя во временном поле массива сессии в checkout и там же подменять session->data['language'] на свой, и соответственно отменять его в CheckoutConfirm подменяя ранее запомненным значением из временного поля в массиве сессии. Это работает почти как ожидалось, Но, чувствую, что как-то это всё не совсем правильно. Плюс, есть нюанс, т.к язык подменяется после перехода в Checkout, основной шаблон всё-же остаётся на языке пользователя.
Какие варианты предложите?
Вот вариант который получился: (Кривой)
/controller/checkout/confirm.php
class ControllerCheckoutConfirm extends Controller {
public function index() {
// Получаем дефолтный FE язык магазина
$this->load->model('setting/setting');
$store_settings_config = $this->model_setting_setting->getSetting("config", $this->config->get('config_store_id'));
// Здесь Нужно нативным методом где то-то добыть id языка по коду, который вернулся в $store_settings_config['config_language']
$this->config->set('config_language_id', 3); // <-- И вставить его здесь вместо значения "3"
$this->config->set('config_language', $store_settings_config['config_language']);
......................
$this->session->data['language'] = $this->session->data['user_fe_language'];
unset($this->session->data['user_fe_language']);
} // END index
} // END class
/controller/checkout/checkout.php
class ControllerCheckoutCheckout extends Controller {
public function index() {
// Получаем дефолтный язык для FE магазина
$this->load->model('setting/setting');
$store_settings_config = $this->model_setting_setting->getSetting("config", $this->config->get('config_store_id'));
// Получаем текущий (пользовательский) FE язык
$this->session->data['user_fe_language'] = $this->config->get('config_language'); // <-- Запоминаем
$this->session->data['language'] = $store_settings_config['config_language']; // <-- Подменяем