Grav-plugin-admin: Undefinierte Eigenschaft: stdClass :: $ image in 1.8.2

Erstellt am 28. Mai 2018  ·  8Kommentare  ·  Quelle: getgrav/grav-plugin-admin

Ich erhalte die Fehlermeldung Undefined property: stdClass::$image beim Hochladen eines Bildes in eine Seitenvorlage. Der Fehlerbehandler verweist speziell auf Zeile 722 in adminbasecontroller.php . Die bildspezifische Blaupause ist hier:

            header.image:
                type: file
                label: Screenshot
                limit: 1
                destination: 'self@'
                multiple: false
                style: vertical
                accept:
                  - image/*

Das Bild wird unabhängig vom Fehler hochgeladen, aber der Header wird nicht aktualisiert ...

Ein Rollback auf 1.8.1 hat das Problem vorerst behoben.

bug

Hilfreichster Kommentar

Das Problem kann behoben werden, indem Zeile 722 in adminbasecontroller.php so geändert wird, dass isset() :

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

Alle 8 Kommentare

Tun Sie dies nicht, das Pagemedienfeld wird bereits in den Seitenordner hochgeladen. Das Dateifeld soll in anderen Blaupausen verwendet werden, die keine Seiten sind.

Was wäre also der richtige Weg, um dies zu erreichen?

Hier gilt das gleiche. Seit dem Update auf Grav 1.4.5 und Admin 1.8.2 kann ich keine Bilder hochladen, was zu demselben Fehler führt, den @superDuperCyberTechno gemeldet hat.

Mein Blaupausenauszug lautet wie folgt:

[...]
header.images:
  type: file
  label: Images
  random_name: true
  multiple: true
  limit: 2
  destination: 'assets'
  filesize: 10
  accept:
    - image/*
[...]

Dies hat bisher ohne Probleme funktioniert. Das Update hat es kaputt gemacht.

Wenn es wichtige Änderungen gibt, ist es vorteilhaft, diese vor dem Update zu kennen. Wenn es am besten Praktiken sind, wäre es toll, über sie statt nur überhaupt zu wissen , immer eine Antwort wie

Tun Sie dies nicht, das Pagemedienfeld wird bereits in den Seitenordner hochgeladen. Das Dateifeld soll in anderen Blaupausen verwendet werden, die keine Seiten sind.

ohne Hinweise darauf, warum. Ich habe den Entwurf gemäß der damaligen Dokumentation erstellt und er hat funktioniert. Entweder handelt es sich um einen Fehler oder um eine nicht dokumentierte Änderung.

Update: Ein Downgrade auf Admin 1.8.1 hat dies auch für mich behoben. Dies verstärkt meinen Eindruck, dass dies höchstwahrscheinlich ein in 1.8.2 eingeführter Fehler ist.

Außerdem habe ich herausgefunden, dass beim Löschen eines Beitrags mit diesem Setup alle Bilder im Ordner assets gelöscht werden. Dies scheint ein ziemlich großer Fehler im Innenleben der Admin-Oberfläche zu sein und hat mich heute sehr frustriert.

Wir haben nicht bemerkt, dass dies eine bahnbrechende Änderung ist, da dieses Feld wirklich nicht dazu gedacht ist, den Pagemedien-Picker zu ersetzen. Jetzt haben wir einige Berichte von Personen, die Dateifelder in Verbindung mit Pagemedia Picker verwenden. Wir werden nachforschen und eine Lösung finden. Tut mir leid!

Zu Ihrer Information, der empfohlene Ansatz besteht darin, das Standard-Pagemedienfeld zu verwenden, um Bilder auf eine Seite hochzuladen, und einen Dateipicker, um sie für bestimmte Header-Variablen auszuwählen

Zu Ihrer Information, der empfohlene Ansatz besteht darin, das Standard-Pagemedienfeld zu verwenden, um Bilder auf eine Seite hochzuladen, und einen Dateipicker, um sie für bestimmte Header-Variablen auszuwählen

Dieser empfohlene Ansatz erscheint mir kontraintuitiv. Das Hochladen und Zuweisen einer Datei / eines Bildes zu einem Feld sollte eine Aktion sein, nicht zwei. Das Unterrichten der Benutzer in zwei Schritten wäre frustrierend und sollte nicht erforderlich sein.

Auf jeden Fall danke, dass Sie sich damit befasst haben.

Das Problem kann behoben werden, indem Zeile 722 in adminbasecontroller.php so geändert wird, dass isset() :

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

Dieses Problem wurde in Admin 1.8.3 behoben

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen