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

Синхронизация поля статус на странице всех модулей с полем статус в отдельном модуле.


 Поделиться

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

Добрый день, месяц назад решил попробовать создать модуль "Квиз" (Опросник) для своего сайта. Написал, всё работает, но никак не могу понять как синхронизировать поле статуса модуля на странице всех модулей в админке с полем статус в самом модуле.

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

Хотелось бы понять как это сделать. Буду благодарен, если те, кто занимается созданием модулей для opencart 3, подскажут как решить данную проблему.

 

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


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

 

В принципе отсутствие синхронизации, никак не влияет на работоспособность модуля, но для полноты, хотелось бы решить эту проблему.

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


вам сюда

 

'status'    => $this->config->get('module_' . $extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),

 

но, судя по всему все модули, которые имеют множественные разные id будут с косячком

 

 

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

В других модулях я все время вижу такие записи:

В методе index() внутри проверки пришел ли post запрос:
$this->model_setting_setting->editSetting('module_name', $this->request->post);

В методе install():
$this->load->model('setting/event');
$this->model_setting_event->addEvent('module_name', 'catalog/view/common/header/after', 'extension/module/module_name');

В методе uninstall():
$this->load->model('setting/event');
$this->model_setting_event->deleteEventByCode('module_name');

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

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


10.05.2022 в 19:57, spectre сказал:

'status'    => $this->config->get('module_' . $extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),

Не совсем понял куда этот код нужно вставить.

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


10.05.2022 в 19:57, spectre сказал:

'status'    => $this->config->get('module_' . $extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),

А, понял, эта строчка кода с файла event.php в контроллере админ панели. На уровне opencarta работает всё корректно. Просто дело в том, что в написанном мной модуле статус все время отображается как "Отключено". Я не могу понять что нужно дописать в модуль чтобы поле статуса было синхронизировано с статусом моего модуля.

Повторюсь, что модуль работает, просто изменение статуса не отображаются на странице admin/index.php?route=marketplace/extension. 

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


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

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

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

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

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

Войти

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

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

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

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

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