MODX Revo не могу создать ресурс.

Всем привет!

На сайте, который до последнего момента работал без нареканий (Revo версия 2.3.2-pl), внезапно стало нельзя создавать в админке новые ресурсы.
Появляется абсолютно пустой экран браузера, в консоли Internal Server Error 500.

При этом в логах MODX ничего нет.
Если ресурс копируется из существующего — все хорошо, новый ресурс создается, редактируется, сохраняется и все такое…
А при создании просто нового ресурса- пустой экран.
Вот такая ссылка:
http://site.ru/manager/?id=0&a=resource/create&class_key=modDocument&parent=0&context_key=web

Можно создать чанки, сниппеты, шаблоны. Вся админка работает как надо, а ресурсы не создаются.

Кэш чистил по-всякому, разными браузерами пользовался, компрессию в бэкэнде отключил — не помогает.
Кто сталкивался, помогите! Как можно исправить?

Заранее спасибо!
Михаил
07 декабря 2014, 19:57
modx.pro
5 301
0

Комментарии: 12

Виталий Киреев
08 декабря 2014, 05:18
+1
Какие плагины стоят?
    Михаил
    08 декабря 2014, 11:03
    0
    getResources, GoogleSiteMap, pdoTools (на днях обновил до версии 1.9.7-pl), phpThumbOn

    но с этим набором раньше все работало хорошо
      Виталий Киреев
      08 декабря 2014, 11:12
      +1
      Я спрашивал про плагины, как они понимаются в MODX. Не навешан ли один из них на событие OnDocFormPrerender или -Render. Ну и ошибку наверняка можно увидеть в логах сервера.
        Михаил
        08 декабря 2014, 17:45
        0
        Виталий, спасибо за наводку!
        Локализовал я проблему.

        Вот такая ошибка в логах сервера:

        Call to a member function get() on a non-object in /home/c/cl267142/site.ru/public_html/core/cache/includes/elements/modsnippet/1.include.cache.php on line 11, referer: site.ru/manager/

        Там лежит вот такой сниппет:

        $id = (!empty($id) ? $id : $modx->resource->get('id'));
         
        //retrieve context
        $page = $modx->getObject('modResource', $id);
        $output = $page->get('context_key');
        
        return $output;
        return;
        Причем последний return добавляет сама система!
        В оригинале его нет.


        Это вообще как так???
          Виталий Киреев
          08 декабря 2014, 18:06
          +1
          Всегда после получения объекта надо проверять не null ли он. Так это во фронтенде ошибка? Я думал в самой админке.
            Михаил
            08 декабря 2014, 20:08
            +1
            Нет, все правильно- ошибка в админке была.
            Причем касалась исключительно только создания ресурсов.
            Всё остальное работало как нужно.

            Меня сейчас удивило еще то, почему система добавила в конец сниппета лишний return.
            Сейчас сниппет переписал- все работает, ошибок нет.

            Вам спасибо за то что помогли разобраться!

          TrueBSt
          26 января 2015, 17:35
          0
          Была такая же ошибка. С Вашим советом помогло, был именно такой плагин. Спасибо!
      Андрей
      19 ноября 2015, 11:22
      0
      Михаил, не могли бы вы подробнее описать как исправили баг. У меня такая же ситуация. В какой-то момент перестали создаваться ресурсы без видимых на то причин. Однако ресурсы не создаются только для группы «Менеджеры», а для группы «Администраторы» все работает. Нашел ту же ошибку — лишний return. Но после удаления или очистки кэша он появляется снова. Так и не добился создания документов для «Менеджеров». Вы говорили что переписали сниппет. Какой именно?
        Михаил
        19 ноября 2015, 13:53
        0
        Честно говоря я уже забыл что именно я делал.

        Кажется немного изменил проблемный сниппет и вручную почистил кэш.
        Вы контексты используете?
        Проверьте какие там настройки/параметры заодно.
          Андрей
          19 ноября 2015, 14:14
          0
          Ориентировочно какой сниппет меняли?
            Михаил
            19 ноября 2015, 14:22
            0
            Тот, из-за которого ошибка возникала.
            И еще, могу ошибаться, но есть вероятность того, что проблема может быть в версии php и правах на папки.
            Надо смотреть что именно вызывает ошибку и отследить всю цепочку.
            Плюс логи сервера проверить тоже и лог ошибок modx.
        Андрей
        19 ноября 2015, 14:38
        0
        Парадокс в том, что для Администратора все работает нормально. Ошибка могла возникнуть в какой-то таблице БД связанной с группой менеджеров. Но в какой…
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          12