أقوم بالانتقال بعيداً عن api.modifyClass("model:composer", ...) التي تم إيقاف استخدامها.
تعريفي الحالي لطريقة Composer#save يغير سلوك الحفظ بشكل شرطي، ولكنه يحتاج في الحالات الأخرى إلى استدعاء super.save(opts).
أرى واجهات برمجة التطبيقات الجديدة addModelMethod / addModelCallback، لكنني لا أجد مثالاً في الكود الأساسي لاستخدام addModelMethod لتجاوز طريقة موجودة مع الحفاظ على إمكانية الوصول إلى التنفيذ الأصلي.
هل يُقصد بـ addModelMethod تجاوز طرق النموذج الموجودة على هذا النحو؟ إذا كان الأمر كذلك، كيف ينبغي أن تفوض الإضافة (plugin) إلى التنفيذ الأصلي لطريقة save()؟
أم هل هناك نقطة توسيع أخرى ينبغي استخدامها لهذا الاستخدام الخاص بـ Composer؟
شكرًا! أنا بالفعل أستخدم composer-service-cannot-submit-post — فهو يتولى التحقق على مستوى الخدمة. لكن دالة save() في نموذج المُحرر (composer) تتحقق أيضًا من cantSubmitPost، والتي تتضمن missingReplyCharacters > 0، لذلك لا يزال الجسم الفارغ محظورًا هناك.
يكون onAppEvent("post:created") متأخرًا جدًا لأن المنشور لا يتم إنشاؤه أبدًا، و serializeOnCreate يضيف حقولًا إلى الطلب فقط، لذا فهو لا يساعد في التحقق من طول الجسم.
إذن، المشكلة المتبقية هي تجاوز missingReplyCharacters / cantSubmitPost للمنشور الأول. هل توجد نقطة توسيع مدعومة لهذا الغرض؟
شكراً ديفيد! لقد اختبرت محوّل composer-minimum-post-length وهو يعمل — يتم إنشاء المواضيع ذات الأجسام الفارغة بنجاح.
شيء واحد لاحظته: المحرر لا يزال يعرض رسالة «لا يمكن أن يكون المنشور فارغاً» لأن خاصية validation في composer-editor تحتوي على فحص مُرمَّز صلباً هو replyLength < 1 لا يستخدم minimumPostLength.
هل يمكن أن يحترم هذا الفحص المحوّل أيضاً، أو أن يُتخطى عندما يكون minimumPostLength مساوياً لـ0؟