سؤال

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

الآن أريد إنشاء عناصر قائمة للعقد المختلفة

function your_module_menu() {
$nodeid //semantic, node is loaded right
    $items['reservate/nodeid/$year-w$week'] = array( // semantic, url is built right
        'title' => t('Your Module Name'),
        'description' => t('Menu's description.'),
        'page callback' => 'page_callback_funtion',
        'page arguments' => array('page callback arguments'),
        'access callback' => 'your_module_access',           // the function that validates access based on the user's role(s).
        'access arguments' => array(array(role1', 'role2')), // list of roles authorized - note nested array.
        'type' => MENU_NORMAL_ITEM,
    );
    return $items;
}

@تعديل

حسنًا ، ربما لم أشرح جيدًا :). لدي نوع محتوى: الوحدة ، والتي يمكن حجزها. لكل وحدة أقوم بإنشائها ، أريد إنشاء عنصر قائمة (يمكنني القيام بإعادة بناء قائمة على Node Save أو Update). يجب ربط القائمة بعرض ، مع معرف العقدة (الوحدة) كوسيطة في عنوان URL.

هل كانت مفيدة؟

المحلول 3

لقد وجدت طريقة بسيطة للغاية للقيام بذلك ، لقد قمت للتو بإنشاء كتلة عرض تنشئ الروابط مع بعض المرشحات.

بسيطة وما أحتاجها بالضبط ، لا يمكن أن أفهم لماذا لم أفكر في ذلك عاجلاً

نصائح أخرى

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

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

تحديث

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

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

http://jan.tomka.name/blog/programmally-creating-menu-items-drupal

الفكرة بسيطة: قم بإعداد قاعدة في وحدة القواعد لإجراء إجراء يتم إطلاقه عند إنشاء العقدة أو الحذف واستخدام مكالمات Drupal API التي ذكرتها Googletorp لمعالجة عناصر القائمة بالفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top