Устранение ошибок MODX Revolution на php v.5.4.13
В ходе развертывания MODX Revolution
на сервере с php v.5.4.13
столкнулся с неработающей админкой и поиском.
В логе апача обнаружил следующую ошибку:
PHP Fatal error: Call to a member function setCacheable() on a non-object in core/cache/includes/elements/modsnippet/31.include.cache.php on line 31
Поиски в тырнетах не дали результата. Все советуют переустановить ModX, очистить папку core/cache и т.д.
Стоит ли говорить, что все эти советы бессмысленны.
Для устранения ее, нужно обернуть $tpl->setCacheable(false);
в условный оператор, а именно:
if (is_object($tpl)) {
$tpl->setCacheable(false);
}
Таким же подходом устраняется следующая бяка:
PHP Fatal error: Call to a member function get() on a non-object in core/model/modx/modmanagerresponse.class.php on line 41
if (is_object($action)){
$action = $action->get('id');
}