J'obtiens l'erreur Undefined property: stdClass::$image
lors du téléchargement d'une image dans un modèle de page. Le gestionnaire d'erreurs fait spécifiquement référence à la ligne 722 dans adminbasecontroller.php . Le plan spécifique à l'image est ici:
header.image:
type: file
label: Screenshot
limit: 1
destination: 'self@'
multiple: false
style: vertical
accept:
- image/*
L'image est téléchargée indépendamment de l'erreur, mais l'en-tête n'est pas mis à jour ...
Revenir à 1.8.1 l'a corrigé pour le moment.
Ne faites pas cela, le champ pagemedia est déjà téléchargé dans le dossier de la page. Le champ de fichier est destiné à être utilisé dans d'autres plans non-page.
Alors, quelle serait la bonne façon d'y parvenir, en termes de plan directeur?
Pareil ici. Depuis la mise à jour vers Grav 1.4.5 et Admin 1.8.2, je ne peux pas télécharger d'images, ce qui entraîne la même erreur signalée par @superDuperCyberTechno .
Mon extrait de plan est le suivant:
[...]
header.images:
type: file
label: Images
random_name: true
multiple: true
limit: 2
destination: 'assets'
filesize: 10
accept:
- image/*
[...]
Cela a fonctionné jusqu'à présent sans problème. La mise à jour l'a cassé.
S'il y a des changements de rupture, il serait avantageux de les connaître avant la mise à jour. S'il existe des meilleures pratiques, il serait bon de les connaître au lieu de simplement obtenir une réponse comme
Ne faites pas cela, le champ pagemedia est déjà téléchargé dans le dossier de la page. Le champ de fichier est destiné à être utilisé dans d'autres plans non-page.
sans aucun indicateur quant à pourquoi. J'ai créé le plan selon la documentation de l'époque et cela a fonctionné. Soit il s'agit d'un bogue, soit d'un changement majeur non documenté.
Mise à jour: la mise à niveau vers Admin 1.8.1 a également résolu ce problème pour moi. Cela renforce mon impression qu'il s'agit probablement d'un bogue introduit dans la 1.8.2.
De plus, j'ai découvert que lors de la suppression d'un message avec cette configuration, toutes les images du dossier assets
sont supprimées. Cela semble être un bug assez important dans le fonctionnement interne de l'interface d'administration et m'a causé des tonnes de frustration aujourd'hui.
Nous n'avions pas réalisé qu'il s'agissait d'un changement radical car ce champ n'est pas vraiment destiné à remplacer le sélecteur de pagemedia. Maintenant, nous avons quelques rapports de personnes utilisant le champ de fichier en conjonction avec le sélecteur de pagemedia, nous allons étudier et trouver une solution. Désolé pour ça!
Pour info, l'approche recommandée est d'utiliser le champ pagemedia standard pour télécharger des images dans une page et un sélecteur de fichiers pour les sélectionner pour des variables d'en-tête spécifiques
Pour info, l'approche recommandée est d'utiliser le champ pagemedia standard pour télécharger des images dans une page et un sélecteur de fichiers pour les sélectionner pour des variables d'en-tête spécifiques
Cette approche recommandée me paraît contre-intuitive. Télécharger et attribuer un fichier / une image à un champ doit être une action, pas deux. Apprendre aux utilisateurs à le faire en deux étapes serait frustrant et ne devrait pas être nécessaire.
Dans tous les cas, merci de l'avoir examiné.
Le problème peut être résolu en modifiant la ligne 722 dans adminbasecontroller.php pour avoir isset()
:
if (isset($obj->header()->{$init_key})) {
Ce problème a été résolu dans Admin 1.8.3
Commentaire le plus utile
Le problème peut être résolu en modifiant la ligne 722 dans adminbasecontroller.php pour avoir
isset()
: