We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 9932
    • 66 Posts
    Время от времени бывает так что вылетают ошибки MODx, что то типа « MODx Parse Error ». Может быть всякое, сам что то не так сделал или просто коннект с базой сорвался. В любом случае посетителю сайта это видеть не нужно. Можно ли как то это обработать? Или просто не выводить это красное окно с ошибкой?
      • 785
      • 2,113 Posts
      Есть такая проблема, и ничего с этим нельзя сделать, разве что самостоятельно внести изменения в код. Если четко сформулировать предложения (а там есть множество спорных моментов), может быть, разработчики что-то сделают в версии 1.1, но это будет нескоро.
      Вообще понятно, что если система не может сгенерировать страницу из-за ошибки парсера, она не знает, что надо выдавать. По идее надо иметь заранее созданные файлы HTML для разных типов ошибок, чтобы выдавать их посетителям, в то время, как менеджерам надо выдавать сообщение об ошибке.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 785
        • 2,113 Posts
        Простое решение с внесением изменений в ядро системы.
        1. В корне сайта создаем файл errors.html, куда записываем то, что хотим показывать вместо ошибок MODx.
        2. В файле document.parser.class.inc.php находим строку
                 echo $parsedMessageString;
        и меняем ее на
                $errorHtmlFile=$this->config['base_path'].'errors.html';
                if (file_exists($errorHtmlFile) && !$this->checkSession())
                    readfile($errorHtmlFile);
                else
                    echo $parsedMessageString;
        Все. Теперь если менеджер из административной части просматривает страницу с ошибкой, ему выдается системное сообщение, а если просматривает пользователь, ему выдается заранее подготовленная страница. При этом заголовок ответа сервера все равно будет 500, то есть выдается ошибка – это гарантирует, что страница с ошибкой не будет проиндексирована поисковыми системами.
        Чтобы вернуться к стандартной схеме, достаточно удалить файл errors.html.
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 9932
          • 66 Posts
          Здорово, спасибо AKots!! ТО что надо, так и сделаю. smiley
            • 1611
            • 591 Posts
            Огромное спасибо! Это уже что-то!