Я получаю сообщение об ошибке Undefined property: stdClass::$image
при загрузке изображения в шаблон страницы. Обработчик ошибок конкретно ссылается на строку 722 в adminbasecontroller.php . Чертеж конкретного изображения находится здесь:
header.image:
type: file
label: Screenshot
limit: 1
destination: 'self@'
multiple: false
style: vertical
accept:
- image/*
Изображение загружается независимо от ошибки, но заголовок не обновляется ...
Откат на 1.8.1 пока исправил.
Не делайте этого, поле pagemedia уже загружается в папку страницы. Поле файла предназначено для использования в других чертежах, не относящихся к странице.
Итак, каков был бы правильный способ достичь этого с точки зрения плана?
То же самое. После обновления Grav 1.4.5 и Admin 1.8.2 я не могу загружать изображения, что приводит к той же ошибке, о которой сообщает
Отрывок из моего плана выглядит следующим образом:
[...]
header.images:
type: file
label: Images
random_name: true
multiple: true
limit: 2
destination: 'assets'
filesize: 10
accept:
- image/*
[...]
До сих пор это работало без проблем. Обновление сломало.
Если есть критические изменения, было бы полезно узнать о них до обновления. Если есть лучшие практики, было бы здорово узнать о них вообще, а не просто получать ответ вроде
Не делайте этого, поле pagemedia уже загружается в папку страницы. Поле файла предназначено для использования в других чертежах, не относящихся к странице.
без каких-либо указателей на то, почему. Я создал чертеж в соответствии с документацией того времени, и он сработал. Либо это ошибка, либо ломающее, недокументированное изменение.
Обновление: переход на Admin 1.8.1 также решил эту проблему для меня. Это укрепляет мое впечатление, что это, скорее всего, ошибка, появившаяся в 1.8.2.
Кроме того, я обнаружил, что при удалении одного сообщения с этой настройкой все изображения в папке assets
удаляются. Похоже, это довольно большая ошибка во внутренней работе интерфейса администратора, которая сегодня вызвала у меня массу разочарования.
Мы не осознавали, что это критическое изменение, потому что это поле действительно не предназначено для замены средства выбора мультимедиа страницы. Теперь у нас есть несколько отчетов о людях, использующих поле файла вместе со средством выбора мультимедиа страницы, мы исследуем и найдем решение. Извини за это!
К вашему сведению, рекомендуемый подход - использовать стандартное поле pagemedia для загрузки изображений на страницу и средство выбора файлов, чтобы выбрать их для определенных переменных заголовка.
К вашему сведению, рекомендуемый подход - использовать стандартное поле pagemedia для загрузки изображений на страницу и средство выбора файлов, чтобы выбрать их для определенных переменных заголовка.
Этот рекомендуемый подход кажется мне противоречащим интуиции. Загрузка и присвоение файла / изображения полю - это одно действие, а не два. Обучать пользователей делать это в два этапа было бы неприятно, и в этом нет необходимости.
В любом случае спасибо, что изучили это.
Эту проблему можно решить, изменив строку 722 в adminbasecontroller.php на isset()
:
if (isset($obj->header()->{$init_key})) {
Эта проблема исправлена в Admin 1.8.3.
Самый полезный комментарий
Эту проблему можно решить, изменив строку 722 в adminbasecontroller.php на
isset()
: