it-swarm.asia

أضف نموذج الويب إلى نوع المحتوى

أرغب في إنشاء نموذج ويب وإضافته إلى نوع المحتوى. لذلك عندما ينشئ المستخدم عقدة ، يضيف نموذج الويب تلقائيًا إلى العقدة (يكون نموذج الويب هو نفسه لكل عقدة من نوع المحتوى).

هل هذا ممكن مع نموذج الويب 3؟

5
user780

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

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

يمكنك محاولة استخدام hook_from_alter ، مما يعني إضافة حقول برمجية من نموذج الويب المرجعي. IMO هو الحل الوحيد أو ربما هناك بعض الوحدات لهذا ، لكني لم أبحث عنها.

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

5
Codium

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

إذا كنت تريد بالفعل إرفاق نموذج ويب جديد بكل عقد ، فيمكنك تمكين نماذج الويب على نوع المحتوى هذا (من التكوين > إعدادات نموذج الويب ). يسمح هذا بإنشاء نموذج لكل عقدة على نوع المحتوى هذا ، ولكنه لا ينشئ النموذج لكل عقدة تلقائيًا ، ويجب إنشاؤه لكل عقدة. هذا ليس مفيدًا حقًا إذا كنت تريد نفس النموذج لكل عقدة ، ولكن إذا كنت تريد إنشاء النموذج تلقائيًا ، فهناك بعض الوحدات للمساعدة في ذلك: https://drupal.org/project/webform_template و https://drupal.org/project/webform_default_fields

الطريقة الأخرى هي إنشاء نموذج ويب واحد وإظهار هذا النموذج في كل صفحة من صفحات العقدة. يمكن تحقيق ذلك من خلال إظهار نموذج الويب ككتلة وتحديد الكتلة التي سيتم عرضها في منطقة المحتوى وفقط على نوع محتوى معين. أولاً تمكين استخدام نموذج ويب ككتلة عن طريق تحرير عقدة نموذج ويب موجودة ، انقر فوق علامة التبويب نموذج الويب ، انقر فوق إعدادات النموذج ، افتح الإعدادات المتقدمة وتحقق من متاح ككتلة خانة الاختيار. بعد ذلك يمكنك إضافة الكتلة من صفحة الكتل بشكل طبيعي وتقييد الرؤية لنوع محتوى معين على سبيل المثال. إذا كنت بحاجة إلى الوصول إلى بعض القيم من العقدة حيث يتم عرض النموذج في نموذج الويب ، فيمكنك إضافتها كحقول مخفية وإنشاء وحدة نمطية مخصصة تحصل عليها من العقدة وتعين القيم على النموذج. إليك بعض المناقشات والأمثلة حول هذا: https://drupal.org/node/1470748

3
Cvuorinen

يمكنك محاولة استخدام hook_form_alter ، مما يعني إضافة حقول برمجية من نموذج الويب المرجعي. IMO هو الحل الوحيد ولكن ما هو IMO.

0
megi