Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Slavik7

Recommended Posts

Добрый день!

 

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

 

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

 

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

Screenshot_1.jpg

Screenshot_2.jpg

Screenshot_3.jpg

Надіслати
Поділитися на інших сайтах


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

Добрый день!

 

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

 

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

 

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

Screenshot_1.jpg

Screenshot_2.jpg

Screenshot_3.jpg

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

  • +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. Ещё раз спасибо!

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.