Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


Recommended Posts

Posted (edited)

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

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

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

Screenshot_1.thumb.jpg.c41d56478b965e22b763cda97da1f3ac.jpg

 

Edited by Slavik7
Link to comment
Share on other sites


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

 

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

Link to comment
Share on other sites


вам сюда

 

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

 

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

 

 

Link to comment
Share on other sites

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

В методе 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. Но я не могу понять, а как потом понимает движок, с какого поля в модуле нужно брать значение.

Link to comment
Share on other sites


В разных модулях немного разница, но все они добавляют запись в таблице setting

 

 

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


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. 

Link to comment
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
 Share

  • 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.