Grav-plugin-admin: استثناء "صفيف لتحويل سلسلة" عند حفظ صفحة مع نوع الحقل "صفحات" و "مضاعف: صحيح"

تم إنشاؤها على ١٦ مارس ٢٠١٧  ·  10تعليقات  ·  مصدر: getgrav/grav-plugin-admin

تم اختباره على عمليات التثبيت الجديدة لـ

  • Grav v1.1.17 - Admin v1.2.14
  • Grav v1.2.0-rc.1 - Admin v1.3.0-rc.1

بيئة:

  • macOS 10.12.3
  • سفاري 10.0.3
  • المضيف المحلي (مع MAMP PRO)
  • PHP 7.1

خطوات Repro:

  1. قم بتثبيت Grav باستخدام المكون الإضافي admin.
  2. افتح system/blueprints/pages/default.yaml (للسرعة فقط ، لكن يمكنني إعادة إنتاج الخطأ باستخدام مخطط الصفحة الموجود في السمة أيضًا)
  3. في علامة التبويب content ، أضف هذا الحقل (السطر 38):
            header.content.items:
              label: Pages
              type: pages
              multiple: true
  1. قم بتحرير الصفحة الرئيسية من خلال لوحة الإدارة.
  2. في علامة التبويب "المحتوى" ، مرر لأسفل وأدخل "الصفحة الرئيسية" في حقل "الصفحات". حدد الصفحة الرئيسية من القائمة المنسدلة حتى تصبح رمزًا مميزًا في الإدخال.
  3. حاول حفظ الصفحة.

النتيجة المتوقعة: لا خطأ.
نتيجة فعلية:

Whoops \ Exception \ ErrorException (E_NOTICE)
Array to string conversion

لا يحدث هذا إذا لم يكن الحقل يحتوي على multiple: true . حاولت أيضًا إضافة validation: type: array لكن لم يتم إصلاحه.

bug

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

لدي نفس المشكلة مع filepicker أو pagemedias select عند الحفظ لدي هذا الخطأ.
capture d ecran 2017-06-09 a 11 06 29

وإذا قمت بإضافة نوع Commalist من نوع التحقق ، فسيكون لدي هذا الخطأ:

capture d ecran 2017-06-09 a 11 11 30

ال 10 كومينتر

تحديث: هذا الخطأ لا يحدث عندما

validation:
  type: commalist

يضاف إلى الحقل في المخطط.

لمعلوماتك ، لا يجب تعديل مخططات النظام. إذا كنت ترغب في إضافة حقل يجب أن تفعل ذلك مع تجاوز. انظر إلى موضوع المادة المضادة في المجلد blueprints/pages لبعض الأمثلة ذات الصلة.

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

حسنًا .. أعتقد أنه يمكننا التعامل تلقائيًا مع قائمة فواصل الإجبار في حقل الصفحات عندما يكون المضاعف صحيحًا .. سأفتحها مرة أخرى.

يمكن أن يؤكد أن هذا خطأ وأن إضافة:

validate:  # NOT `validation`
  type: commalist

إلى الميدان في مسألة لا يبدو أن العمل لحالتي. المجال في مجمله:

            header.associated_products:
              type: pages
              multiple: true
              label: Products applicable for this warranty
              validate:
                type: commalist

لإعادة إنتاج الاستثناء الذي تحدث عنه OP ، ما عليك سوى إزالة السطرين اللذين يبدآن من validate وحاول حفظ الصفحة.

لدي نفس المشكلة مع filepicker أو pagemedias select عند الحفظ لدي هذا الخطأ.
capture d ecran 2017-06-09 a 11 06 29

وإذا قمت بإضافة نوع Commalist من نوع التحقق ، فسيكون لدي هذا الخطأ:

capture d ecran 2017-06-09 a 11 11 30

لدي نفس مشكلة @ Amorfx. أي تحديث حول هذا الخطأ؟

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

حاولت إضافة حقل مثل هذا من مخطط:

header.hero_images:
              ordering@: 2
              type: pagemediaselect
              multiple: true
              label: Choose header image
              style: vertical
              preview_images: true
              accept:
                - .jpg
                - .png

كما هو مقترح أعلاه ، حاولت أيضًا إضافة:

validation:
  type: commalist

للأسف لا شيء يعمل ، أحصل دائمًا على Twig_Error_Runtime : تم طرح استثناء أثناء عرض قالب ("تحويل من صفيف إلى سلسلة").

أهلا بك،

أحصل على نفس الخطأ عند استخدام حقل "filepicker" داخل ملف config yaml. هل هناك أي فكرة جديدة حول هذه المشكلة؟

أهلا

لدي نفس المشكلة مع pagemediaselect .

قبل إضافة جزء التحقق ، تلقيت الخطأ Array to string conversion المذكور سابقًا. بعد إضافته ، أحصل على واحدة أخرى ولكن هذه المرة في غصين (مثل @ Amorfx ).

الإعداد الخاص بي:

header.gallery:
  type: pagemediaselect
  label: Gallery
  multiple: true
  validate:
    type: commalist
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات