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.
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
Hilfreichster Kommentar
Das Problem kann behoben werden, indem Zeile 722 in adminbasecontroller.php so geändert wird, dass
isset()
: