Grav-plugin-admin: Неопределенное свойство: stdClass :: $ image в 1.8.2

Созданный на 28 мая 2018  ·  8Комментарии  ·  Источник: getgrav/grav-plugin-admin

Я получаю сообщение об ошибке 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 пока исправил.

Самый полезный комментарий

Эту проблему можно решить, изменив строку 722 в adminbasecontroller.php на isset() :

if (isset($obj->header()->{$init_key})) {

Все 8 Комментарий

Не делайте этого, поле 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.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги