Redactor: لماذا يحاول Redactor طلب المكونات الإضافية الخاصة بي؟

تم إنشاؤها على ١٢ أبريل ٢٠٢٠  ·  10تعليقات  ·  مصدر: craftcms/redactor

بالنسبة لعدد قليل من المكونات الإضافية التي تتم إضافتها تلقائيًا ، فإنهم يخبرون Redactor بـ addButtonBefore أو addButtonAfter زر آخر محدد ...

يبدو أنه لا ينبغي أن يتخذ المكون الإضافي Craft قرارات بشأن ترتيب ظهور مكونات Redactor الإضافية. من الناحية المثالية ، سيظهرون فقط بأي ترتيب أضعهم مدرجًا في ملف JSON.

  "buttons": [
    "bold",
    "italic",
    "underline",
    "link",
    "lists"
  ],
  "plugins": [
    "alignment",
    "table"   <--- Table is at the end
  ],

Ω 2020-04-11 at 3 33 56 PM

نظرًا لأن المكون الإضافي Craft يتخذ هذه القرارات ، فإنه يؤدي إلى سلوك غريب في شريط الأدوات المخصص الخاص بي. عندما أقوم بإضافة مكون إضافي (على سبيل المثال table ) ، فإنه يضع نفسه تلقائيًا في شريط الأدوات في موضع محدد. إنه أمر محير لأن زر المكون الإضافي لا ينتهي في المكان الذي وضعته فيه .

هل يمكننا من فضلك إزالة تفضيلات الطلب المحددة مسبقًا؟ أو بطريقة ما تجعلها قابلة للتجاوز؟

enhancement

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

استغرقت بضعة أشهر ، ولكن الحل أخيرًا هنا في شكل خيار تكوين Redactor جديد تمامًا enforceButtonOrder !

ال 10 كومينتر

هذه هي المكونات الإضافية التي يوفرها Redactor ، لذا لست متأكدًا من مدى ذكاء التلاعب بهذا الرمز.

هاه ، لقد افترضت أن هذا كان مجرد تنفيذ كرافت لتلك المكتبات. من الغريب أن يكون Redactor صارمًا للغاية بشأن المكان الذي ستظهر فيه هذه الأزرار ... أليست النقطة الكاملة لـ Redactor مرونتها؟

هل هناك أي طريقة لتجاوز ذلك؟ أجد صعوبة في تصديق أن الزر "جدول" _يجب_ الانتقال إلى جانب الزر "ارتباط" ، بدون استثناءات. 😕

ربما من الممكن تجاوز ذلك ببعض كود JS ، ولكن إذا كنا سنقوم بالتلاعب بهذا ، فلنفعل ذلك بشكل صحيح.

إذا كنت ترغب في إدخال زر الجدول في المنتصف هناك - كيف تتوقع تحديد هذا في التكوين؟

حسنًا ... هذا سؤال رائع ، لأن Redactor يهتم بالفعل بكيفية ترتيب الأزرار.

من الناحية المثالية ، سنكون قادرين على استخدام أساليب before و after لوضعها في أي مكان نريد ...

https://imperavi.com/redactor/docs/settings/button/#s -buttonsaddafter

لكن السيناريو الأسوأ ، كنت أتوقع أن يهبط بالضبط حيث أضعه في مصفوفة plugins ...

  "plugins": [
    "alignment",
    "fontcolor",
    "table",   <--- Table should be in the middle
    "fullscreen",
    "clips"
  ]

lindseydiloreto ما قصدته هو كيف يمكنك إدخاله بين الزرين الغامق والمائل ، على سبيل المثال؟

هل تسأل "كيف أتصور أنها تعمل؟" ربما شيء من هذا القبيل ...

  "buttonsAddAfter": {
    "after": "bold",
    "buttons": ["table"] // Places the plugin button
  },
  "plugins": [
    "table" // Loads the plugin
  ],

... أو ربما مثل هذا ...

  "pluginsAddAfter": {
    "after": "bold",
    "buttons": ["table"] // Loads & places the button
  },

ليس لدي أي فكرة عن مدى سهولة ذلك مع ما يقوم به Redactor و / أو المكون الإضافي Craft بالفعل. بإلقاء نظرة خاطفة على هذا الالتزام ، يبدو أن المكون الإضافي Craft يحتاج أحيانًا إلى استخدام القوة الغاشمة مع Redactor على أي حال.

دعني أعرف أفكارك ، أو إذا أسأت فهم السؤال تمامًا! 😄

من الغريب حقًا أن المحرر غير قادر على طلب الأزرار فقط كما هي محددة في المصفوفة. هذا هو السلوك الافتراضي الذي أتوقعه عند تحديد الأزرار. بالنظر إلى أن المحرر هو أداة مدفوعة ، أود الحصول على مزيد من المرونة والقدرة على التنبؤ.

استغرقت بضعة أشهر ، ولكن الحل أخيرًا هنا في شكل خيار تكوين Redactor جديد تمامًا enforceButtonOrder !

(مع الإصدار التالي)

آه ، الرائعة @ أندريس سيفسينكو! شكرًا جزيلاً لتوضيح ذلك ، سيكون الوسواس القهري أكثر سعادة لذلك. 😄

لا أستطيع الانتظار لأخذها في جولة! 🍺

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