Grav-plugin-admin: خاصية غير محددة: stdClass :: $ image in 1.8.2

تم إنشاؤها على ٢٨ مايو ٢٠١٨  ·  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 تم إصلاحه في الوقت الحالي.

bug

التعليق الأكثر فائدة

يمكن إصلاح المشكلة عن طريق تغيير السطر 722 في adminbasecontroller.php ليصبح لديك isset() :

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

ال 8 كومينتر

لا تفعل هذا ، يتم تحميل حقل pagemedia بالفعل إلى مجلد الصفحة. تم تصميم حقل الملف ليتم استخدامه في مخططات أخرى بخلاف الصفحات.

إذن ، ما هي الطريقة الصحيحة لتحقيق ذلك ، مخططًا حكيمًا؟

كذلك هنا. منذ التحديث إلى Grav 1.4.5 و Admin 1.8.2 ، لا يمكنني تحميل الصور ، مما أدى إلى نفس الخطأ الذي أبلغ عنه @ superDuperCyberTechno .

مقتطف المخطط الخاص بي هو كما يلي:

[...]
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.

بالإضافة إلى ذلك ، اكتشفت أنه عند حذف منشور واحد بهذا الإعداد ، يتم حذف جميع الصور الموجودة في المجلد assets . يبدو أن هذا خطأ كبير في الأعمال الداخلية لواجهة الإدارة وقد تسبب لي في الكثير من الإحباط اليوم.

لم ندرك أن هذا كان تغييرًا مفاجئًا لأن هذا الحقل لا يُقصد به استبدال منتقي pagemedia. الآن لدينا بضعة تقارير عن أشخاص يستخدمون حقل ملف جنبًا إلى جنب مع منتقي pagemedia ، سنحقق في الأمر ونجد حلاً. أسف على هذا!

لمعلوماتك ، فإن الأسلوب الموصى به هو استخدام حقل وسائط الصفحات القياسي لتحميل الصور إلى صفحة ومنتقي الملفات لتحديدها لمتغيرات رأس معينة

لمعلوماتك ، فإن الأسلوب الموصى به هو استخدام حقل وسائط الصفحات القياسي لتحميل الصور إلى صفحة ومنتقي الملفات لتحديدها لمتغيرات رأس معينة

يبدو لي هذا النهج الموصى به غير بديهي. يجب أن يكون تحميل وتعيين ملف / صورة إلى حقل إجراءً واحدًا وليس اثنين. قد يكون تعليم المستخدمين القيام بذلك على خطوتين أمرًا محبطًا ويجب ألا يكون ضروريًا.

على أي حال ، شكرا للنظر في الأمر.

يمكن إصلاح المشكلة عن طريق تغيير السطر 722 في adminbasecontroller.php ليصبح لديك isset() :

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

تم إصلاح هذه المشكلة في المسؤول 1.8.3

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات