Не работает редактирование файлов в админке (PHP7)
Версия 2.4.3-pl, перешел на PHP 7 с 5.4 и перестало работать редактирование любых файлов. На месте, где должно быть окно редактирования пустое место. В журнале ошибок пусто, в консоли инспектора ругается на
строку ",canSave: 1"
Что кто посоветует?
строку ",canSave: 1"
?a=system/file/edit&file=assets/css/style.css&wctx=mgr&source=1:30 Uncaught SyntaxError: Unexpected token ,
<script type="text/javascript">Ext.onReady(function() {
MODx.load({
xtype: "modx-page-file-edit"
,file: "assets/css/style.css"
,record:
,canSave: 1
});
});</script>
На версии 5.4 в скрипте в строке ",record:" не пусто, как на 7 версии<script type="text/javascript">Ext.onReady(function() {
MODx.load({
xtype: "modx-page-file-edit"
,file: "assets/css/style.css"
,record: {"name":"assets\/css\/style.css","basename":"style.css","path":"\/www\/assets\/css\/style.css","size":28881,"last_accessed":null,"last_modified":null,"content":nbody:last-child .blueimp-gallery > .play-pause {\n width: 20px;\n height: 20px;\n background-size: 40px 20px;\n background-image: url(..\/img\/play-pause.svg);\n}\nbody:last-child .blueimp-gallery-playing > .play-pause {\n background-position: -20px 0;\n}\n\n\/* IE7 fixes *\/\n*+html .blueimp-gallery > .slides > .slide {\n min-height: 300px;\n}\n*+html .blueimp-gallery > .slides > .slide > .slide-content {\n position: relative;\n}\n\n","image":false,"is_writable":true,"is_readable":true,"source":1}
,canSave: 1
});
});</script>
Что кто посоветует?
Комментарии: 12
2.4.3 несовместима с php7. Баги по совместимости исправлены в 2.5.0-RC1
2.5.0-pl — не работает
Вероятно проблема не в MODX, а в самом редакторе. Недавно у меня была проблема с TypoMCE, который не сохранял значения в ClientConfig, замена редактора решила проблему.
делал тексты для слайдера с помощью ClientConfig и редактором текстового поля CKEditor — не сохранялись значения, если использовать несколько тегов (h2 и P), поставил TypoMCE все стало нормой)
Вот ровно такая же беда на днях приключилась. У вас тоже на винде сервер? С php 5.5 и выше перестает открывать файлы в файловом менеджере, ругается на ,canSave: 1" и в строке ",record:" пусто. В файле /manager/controllers/default/system/file/edit.class.php за это место отвечает кусок:
Что делать, не знаю, идей нет. Видимо, мы с вами одни такие чудики с сервером на винде, раз больше никого это не затронуло. А, нет, есть еще один такой бедолага: modxclub.ru/comments/comment-8887.html
Может коллективного разума уважаемого сообщества хватит, что бы решить проблему?
public function loadCustomCssJs() {
$this->addJavascript($this->modx->getOption('manager_url').'assets/modext/sections/system/file/edit.js');
$this->addHtml('<script type="text/javascript">Ext.onReady(function() {
MODx.load({
xtype: "modx-page-file-edit"
,file: "'.$this->filename.'"
,record: '.$this->modx->toJSON($this->fileRecord).'
,canSave: '.($this->canSave ? 1 : 0).'
});
});</script>');
}
т.е. не отрабатывает нормально $this->modx->toJSON($this->fileRecord)Что делать, не знаю, идей нет. Видимо, мы с вами одни такие чудики с сервером на винде, раз больше никого это не затронуло. А, нет, есть еще один такой бедолага: modxclub.ru/comments/comment-8887.html
Может коллективного разума уважаемого сообщества хватит, что бы решить проблему?
Говорят, на серверах CentOS
Оппа, вот это неожиданный поворот, я думал, такое только у виндузятников…
Решил! Проблема была в том, что $this->fileRecord получает свойства файла, который хотим редактировать, в том числе его атрибуты, и вот там в дате создания и в дате редактирования приходило названия месяца на русском в кодировке windows-1251, т.е. кракозябры вместо нормальной строки, хотя везде, где только можно, в системе указано utf-8. Это ломало $this->modx->toJSON. Решилось указанием локали в настройках MODX. Раздел core->Словарь и язык параметр locale пишем english. Не совсем понятно, почему работает без указания локали на php 5.4 и 5.3, а начиная с php 5.5 и выше, не хочет.
Спасибо! Только вот мне english не помогло, помогло en_US.UTF-8
Я как раз таки все (en_US.UTF-8 и en_US) и перепробовал, и помогло ТОЛЬКО english на local.
Тоже помогло только english на local. Спасибо за подсказку :)
Спасибо, сработало на локальном сервере!:)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.