ページテンプレートに画像をアップロードすると、エラーUndefined property: stdClass::$image
発生します。 エラーハンドラは、adminbasecontroller.phpの行722を具体的に参照
header.image:
type: file
label: Screenshot
limit: 1
destination: 'self@'
multiple: false
style: vertical
accept:
- image/*
エラーに関係なく画像はアップロードされますが、ヘッダーは更新されません...
1.8.1にロールバックすると、今のところ修正されました。
これを行わないでください。pagemediaフィールドはすでにページフォルダにアップロードされています。 ファイルフィールドは、他のページ以外のブループリントで使用することを目的としています。
それで、これを青写真的に達成するための正しい方法は何でしょうか?
こっちも一緒。 Grav1.4.5およびAdmin1.8.2への更新以降、画像をアップロードできず、同じエラーが
私の青写真の抜粋は次のとおりです。
[...]
header.images:
type: file
label: Images
random_name: true
multiple: true
limit: 2
destination: 'assets'
filesize: 10
accept:
- image/*
[...]
これはこれまで問題なく機能しました。 更新はそれを壊しました。
重大な変更がある場合は、更新前にそれらについて知っておくと便利です。 ベストプラクティスがある場合は、すべてではそれらについて知っているだけではなくのような応答を取得するために素晴らしいことです
これを行わないでください。pagemediaフィールドはすでにページフォルダにアップロードされています。 ファイルフィールドは、他のページ以外のブループリントで使用することを目的としています。
理由についてのポインタなし。 当時のドキュメントに従ってブループリントを作成しましたが、機能しました。 これはバグであるか、文書化されていない重大な変更です。
更新:管理者1.8.1にダウングレードすると、私もこれを解決しました。 これは、これが1.8.2で導入されたバグである可能性が最も高いという私の印象を補強します。
さらに、この設定で1つの投稿を削除すると、 assets
フォルダー内のすべての画像が削除されることがわかりました。 これは、管理インターフェイスの内部動作におけるかなり大きなバグのようであり、今日、私に多くのフラストレーションを引き起こしました。
このフィールドは実際にはページメディアピッカーを置き換えることを意図していないため、これが重大な変更であることに気づきませんでした。 これで、ページメディアピッカーと組み合わせてファイルフィールドを使用している人々のレポートがいくつかあります。調査して解決策を見つけます。 これにつきましては申し訳ございません!
参考までに、推奨されるアプローチは、標準のpagemediaフィールドを使用して画像をページにアップロードし、ファイルピッカーを使用して特定のヘッダー変数用に画像を選択することです。
参考までに、推奨されるアプローチは、標準のpagemediaフィールドを使用して画像をページにアップロードし、ファイルピッカーを使用して特定のヘッダー変数用に画像を選択することです。
この推奨されるアプローチは、直感に反していると私は思います。 ファイル/画像のアップロードとフィールドへの割り当ては、2つではなく1つのアクションである必要があります。 2つのステップでそれを行うようにユーザーに教えることはイライラすることであり、必要ではないはずです。
いずれにせよ、それを調べてくれてありがとう。
adminbasecontroller.phpの行722をisset()
変更することで、問題を修正できます。
if (isset($obj->header()->{$init_key})) {
この問題は管理者1.8.3で修正されました
最も参考になるコメント
adminbasecontroller.phpの行722を
isset()
変更することで、問題を修正できます。