Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как одноязычный модуль сгделать мультиязычным?


Slavik7
 Погделиться

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

Добрый гдень!

 

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

 

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

 

Буду благодарен, если подскажите как решить эту проблему, или посоветуете аналогичные модули.

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


1 час назад, Slavik7 сказал:

Добрый гдень!

 

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

 

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

 

Буду благодарен, если подскажите как решить эту проблему, или посоветуете аналогичные модули.

Чтобы модуль сгделать мультиязычным - нужно добавить переводы для модуля. Собственно открываешь исходники модуля, берешь языковые файлы, дублируешь их в нужные языковые папки, гделаешь переводы текстов - и всё готово.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

1 час назад, OtezVikentiy сказал:

Чтобы модуль сгделать мультиязычным - нужно добавить переводы для модуля. Собственно открываешь исходники модуля, берешь языковые файлы, дублируешь их в нужные языковые папки, гделаешь переводы текстов - и всё готово.

 

а если настройки в админке?

не все модули это подгдерживают.

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

1 час назад, Vetroff сказал:

 

а если настройки в админке?

не все модули это подгдерживают.

А чем настройки в админке отличаются от люпотому чтого другого меси? Если только автор модуля не пригдерживается общих положений опенкари и его "ну типа архитектуры" с текстовыми переменными для твигов, то тогда да, бугдет геморрой, но вообещё админка от каилога ничем не отличается в плане переводов. Во вскаком случае не должна, если только автор модуля туда тексты не захардкодил...
Точно икже захардкодить можно и в каилог, если автор модуля рукохлоп... )))

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

28 минут назад, OtezVikentiy сказал:

А чем настройки в админке отличаются от люпотому чтого другого меси?

 

Тем, что не всегда они улитывают локализацию. Как на последнем скрине ТС.

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

1 час назад, Vetroff сказал:

 

Тем, что не всегда они улитывают локализацию. Как на последнем скрине ТС.

Ну ик смысл икой же, добавить поля на нескольких языках и гдергать их значения с $language_id

Например
Дергаем все доступные языки в контроллере модуля в админке

        $this->load->model('localisation/language');

        $data['languages'] = $this->model_localisation_language->getLanguages();

        if (isset($this->request->post['title'])) {
            $data['title'] = $this->request->post['title'];
        } elseif (!empty($module_info)) {
            $data['title'] = $module_info['title'];
        } else {
            $data['title'] = '';
        }



выводим поле с учетом id языка

<?php foreach($languages as $language) { ?>
<input type="text" name="title[$language['language_id']]" value="<?php echo $title[$language['language_id']] ? $title[$language['language_id']]  : ''; ?>" />
<?php } ?>



В контроллере модуля на фронте
получаем текущий ID языка
 

$language_id = $this->config->get('config_language_id');

$title = $this->config->get('config_somemodule_title');

$data['title'] = $title[$language_id'];



Ну и выводим его в шаблоне потом
 

<?php echo $title; ?>

 

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

9 часов назад, ocdev_pro сказал:

$language_id = $this->config->get('config_language_id'); $title = $this->config->get('config_somemodule_title'); $data['title'] = $title[$language_id'];

Я икого не пропотому чтовал, но походу семерка этого не простит.... Если нет файла с переводом.

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

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

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

Вау, спасипотому что за решение этот проблемы. Я в принципе ик и думал, что нужно бугдет в код лезть. Благо, что я немного понимаю в php. Ещё раз спасипотому что!

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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