Режим обслуживания

Тема в разделе "Ошибки и их решения", создана пользователем tsap, 28 май 2015.

  1. tsap

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

    Сообщения:
    230
    Симпатии:
    131
    возникла проблема
    Version 2.0.3.0 (rs.2)
    в настройках магазина выставляю Режим обслуживания - Нет, сохраняю настройки
    иду загружаю модификатор, какой либо, и нажимаю кнопку Обновить в Модификаторы
    в настройках автоматом устанавливается Режим обслуживания - Да
    с чем это связано?
    параллельно работаю с магазином Version 2.0.2.1_rc (rs.4), при тех же манипуляциях такое не происходит.
    это обновление
    установлено на оба магазина
     
  2. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.434
    Симпатии:
    780
    Я ждал когда кто нибудь задаст этот вопрос. )

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

    Идея у создателей была такая "Если обновляем кеш модификатора, значит мы работаем с системными файлами магазина, а значит возможно будут ошибки. И чтобы эти ошибки не увидел клиент, мы переводим магазин в режим обслуживания."
     
    lavlan нравится это.
  3. tsap

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

    Сообщения:
    230
    Симпатии:
    131
    да... действительно спойлер не читал
     
  4. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    516
    Так же, идея заканчивается включение магазина обратно, после обновления кэша модификаторов, но этого не происходит.
    Для меня осталось загадкой почему не срабатывает условие
    Код:
                if ($org_maintenance != $this->config->get('config_maintenance')) {
                    $this->model_setting_setting->editSettingValue('config', 'config_maintenance', false);
    и переключение режима мне мешает, особенно на тестовом сайте (а на рабочем так можно вообще забыть его включить обратно :confused: ), поэтому просто накатал затычку в виде ocmod (после установки магазин надо включить :) ), что бы сайт не отключался при обновлении.
     

    Вложения:

    MxL нравится это.
  5. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    достаточно просто закоментировать строку
    Код:
    $this->model_setting_setting->editSettingValue('config', 'config_maintenance', true);
     
  6. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    516
    Меня смутило то, что сайт обратно не включается, поэтому решил закоментить всю конструкцию отключения/включения сайта.
     
  7. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    там все просто, при обновлении просто включает режим обслуживания и все.
    Т.е не так как вы думаете, что типа, он на время обновления включает, а потом после выключает.
     
  8. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    516
    Смотря код вижу, что вначале обновления сайт переводится в режим обслуживания с запоминанием изначального состояния в переменную $org_maintenance. После обновления модификаторов эта переменная сравнивается с текущим состоянием сайта (который в это время в состоянии обслуживания)
    Код:
    if ($org_maintenance != $this->config->get('config_maintenance')) {
    $this->model_setting_setting->editSettingValue('config', 'config_maintenance', false);
    этот код, в конце процедуры обновления, и должен отключать режим обслуживания, если перед обновлением модификаторов он был отключен, но этого не происходит.

    PS.: там даже комменты есть, в начале процедуры
    Код:
    // Just before files are deleted, if config settings say maintenance mode is off then turn it on
    
    и в конце
    Код:
    // Just after modifications are complete, if config settings say maintenance mode is on AND is different org state, then turn it back on
    
     
    Последнее редактирование: 1 июн 2015
  9. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    а я ниже и не читал )) Делали делали , да недоделали )))
     
  10. Ravilr

    Ravilr Специалист

    Сообщения:
    3.863
    Симпатии:
    1.059
    не происходит потому что баг...

    надо после
    PHP:
    $this->model_setting_setting->editSettingValue('config''config_maintenance'true);
    вставить
    PHP:
    $this->config->set('config_maintenance'true);
    Должно работать..
     
    mr_eas, Slait, solunski.d и 3 другим нравится это.
  11. dream_house

    dream_house Новичок

    Сообщения:
    11
    Симпатии:
    0
    подскажите пожалуйста, а в каком файле эту строку искать..???
     
  12. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    Если бы вы читали внимательно, а не бегло, то увидели бы в 4 сообщении файл модификатор в котором есть и пути и что исправить. В общем путь к файлу admin/controller/extension/modification.php
     
    Сергей А. и dream_house нравится это.
  13. dream_house

    dream_house Новичок

    Сообщения:
    11
    Симпатии:
    0
    спасибо Вам огромное, мне это и нужно было, т.к. пока только осваиваю opencart