Неверный статус модулей у ocStore 3.0.2.0

Тема в разделе "Ошибки и их решения", создана пользователем messenja, 17 авг 2019.

  1. messenja

    messenja Новичок

    Сообщения:
    3
    Симпатии:
    0
    Всем привет, только что поставил ocStore 3.0.2.0 и заметил, что статус модулей в Расширениях не соответствует актуальному статусу модуля. Тоесть в статусе , например, указывается, что модуль отключен, хотя на самом деле он включен и, если зайти в редактирование модуля, то там тоже статус: Включен. Это баг?
    1aCUf2g1a7.png
    HvLnAdyf6H.png
     
  2. EugeneWebdev

    EugeneWebdev Пользователь

    Сообщения:
    80
    Симпатии:
    18
    В ocstore криво реализованные модули и выводится не верный статус. В opencart "русская сборка" подобных косяков нет.
    Еще попробуйте категорию блога отредактировать, тоже ошибки.
    Я вам так скажу ocstore содержит огромное количество ошибок которые никто не правит, я одному клиенту пол сайте перелопатил...

    P.s: рекомендую использовать opencart "русская сборка" и не будет у вас проблем.
     
    karpov нравится это.
  3. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    список в студию
     
  4. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    вы ничего не путаете?
     
  5. EugeneWebdev

    EugeneWebdev Пользователь

    Сообщения:
    80
    Симпатии:
    18
    Нет не путаю. Для теста можете в чистый ocstore просто закинуть модуля от русской сборки и подобная ошибка исчезает, если посмотреть код то становится ясно, что в контроллере мелкая ошибка.
    А по части списка ошибок можете их смотреть в теме https://opencartforum.com/topic/129529-reliz-ocstore-3020/
    Почти все актуальны и не исправляются по сей день.
     
  6. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    а, вы о тройке
     
  7. EugeneWebdev

    EugeneWebdev Пользователь

    Сообщения:
    80
    Симпатии:
    18
    Ну да о 3, автор темы же написал что у него ocStore 3.0.2.0, в ocStore 2.х таких проблем нет.
     
  8. messenja

    messenja Новичок

    Сообщения:
    3
    Симпатии:
    0
    Поставил русскую сборку, в целом хорошо, но при установке были ошибки, связанные с режимом SQL сервера Variable 'sql_mode' can't be set to the value of 'MYSQL40' (у меня на локальной машине 8 версия MySQL). Пришлось править скрипты install\model\install\install.php и install\cli_install.php (убрать запросы $db->query("SET @@session.sql_mode = 'MYSQL40'"))
     
  9. messenja

    messenja Новичок

    Сообщения:
    3
    Симпатии:
    0
    Не буду создавать отдельной темы, спрошу тут: при добавлении новой категории создается 2 одинаковых категории одновременно (подобное и в ocStore наблюдалось). Так и должно быть?
     
  10. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    Нет
    У вас хром - меняйте браузер

    Тем понималась не однократно

    @fanatic к вам клиент
     
  11. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    наводка то ваша
     
  12. EugeneWebdev

    EugeneWebdev Пользователь

    Сообщения:
    80
    Симпатии:
    18
    Правим файл: /admin/view/javascript/common.js
    найдите

    //Form Submit for IE Browser
    $('button[type=\'submit\']').on('click', function() {
    $("form[id*='form-']").submit();
    });
    и замените на


    //Form Submit for IE Browser
    $('button[type=\'submit\']').on('click', function(e) {
    if ($("form[id*='form-']").length > 0) {
    e.preventDefault();
    $("form[id*='form-']").submit();
    }
    });
    и не забываем обносить кэш браузера. Более таких проблем в хром не будет.
     
    messenja, karpov и Chukcha нравится это.
  13. marshall

    marshall Пользователь

    Сообщения:
    51
    Симпатии:
    0
    что вы тут рассказываете? Это баг всей трой с выводом статуса. И на русской сборке тоже самое. Я че сюда и зашел что у меня такая проблема именно на русской сборке.
     
  14. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    Это не баг!!! А не желание Даниеля подумать в сторну не модклей, а рсширений

    Не всем расширениям нужен статус
    Учитівая, то что отстутсвует возможность install.php, то возникает потребность в выполнении метода install

    Например, есть необходимость добавить поля в товар, а ocmod'ом их вывести
    делаем просто пустой модуль с методом install
    О каком статусе может быть речь?
     
  15. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.065
    Нет, это оксторе. Вот про что в данной теме, ниже. А то что у вас, это не баг, а так и должно работать.

    2019-11-01_10-45-45.png 2019-11-01_10-45-27.png
     
  16. Spenser

    Spenser Новичок

    Сообщения:
    1
    Симпатии:
    0
    Всем привет! Только зарегистрировался на форуме. Поставил недавно тоже ocStore 3.0.2.0 русскую версию. Такая же лабуда со статусами. Поковырявшись немного в коде поправил часть неправильных статусов (а может и все).
    В файле /admin/controller/extension/extension/module.php строка примерно 158.
    В код:
    PHP:
    foreach ($modules as $module) {
        
    $module_data[] = array(
            
    'module_id' => $module['module_id'],
            
    'name'      => $module['name'],
            
    'status'    => (isset($setting_info['status']) && $setting_info['status']) ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
            
    'edit'      => $this->url->link('extension/module/' $extension'user_token=' $this->session->data['user_token'] . '&module_id=' $module['module_id'], true),
            
    'delete'    => $this->url->link('extension/extension/module/delete''user_token=' $this->session->data['user_token'] . '&module_id=' $module['module_id'], true)
    );
    добавил строку: $setting_info = json_decode($module['setting'], true); в самом начале цикла
    PHP:
    foreach ($modules as $module) {
    $setting_info json_decode($module['setting'], true);           
    $module_data[] = array(
            
    'module_id' => $module['module_id'],
            
    'name'      => $module['name'],
            
    'status'    => (isset($setting_info['status']) && $setting_info['status']) ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
            
    'edit'      => $this->url->link('extension/module/' $extension'user_token=' $this->session->data['user_token'] . '&module_id=' $module['module_id'], true),
            
    'delete'    => $this->url->link('extension/extension/module/delete''user_token=' $this->session->data['user_token'] . '&module_id=' $module['module_id'], true)
    );
    Теперь статусы модулей у меня показываются правильно. Может кому поможет если еще актуально.
     
  17. solanj

    solanj Пользователь

    Сообщения:
    63
    Симпатии:
    1
    Это баг всей тройки, все тоже самое и в русской сборке ив английской.
    У меня строка $setting_info = json_decode($module['setting'], true);
    в данном файле была прописна. Но модули, все что входят в шаблон, со статусом "Отключено"
    Кто-нибудь может еще какое-то решение подсказать?
    Я понимаю, что это связано с тем, что в таблицу setting записывается название модуля и те модули, что переделывались из 2 версии не всегда добавляют в инсталлер запись в данную таблицу. Но как это исправить?
     
  18. Ravilr

    Ravilr Специалист

    Сообщения:
    3.879
    Симпатии:
    1.065
    Вы что то путаете.
     
  19. solanj

    solanj Пользователь

    Сообщения:
    63
    Симпатии:
    1
    возможно, еще зависит от модулей (причину описала выше) но я проверила на всех вариантах. Модули моего шаблона все отключены и на русской сборке и на родном
     
  20. solanj

    solanj Пользователь

    Сообщения:
    63
    Симпатии:
    1
    так вот хотелось бы подсказки по решению