it-swarm.asia

تغيير عنوان الصفحة عند الإضافة Node Page

ما الخطاف/الفلتر الذي أحتاج إلى استخدامه لتعديل عنوان صفحة "إضافة عقدة" (هذا العنوان)؟ على سبيل المثال ، عند عرض "/ node/add /" أريد تغيير العنوان من "إنشاء" إلى "إضافة جديد"

7
Citricguy

هناك عدة طرق مختلفة يمكنك من خلالها القيام بذلك ، ولكن الطريقة التي طلبت بها ستستخدم hook_form_alter () :

<?php
function custom_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'mynodetype_node_form') {
    drupal_set_title('My new title');
  }
}
?>

سيكون هذا في وحدة مخصصة تسمى custom.module ... drupal_set_title () ، عندما يتم استدعاؤها في أي مكان في تحميل الصفحة ، سيحدد العنوان بشكل مناسب. إنك تقوم في الأساس بعملية عرض شكل العقدة ، وقول "تعيين العنوان على ما أريد" في تلك المرحلة.

إذا كنت ترغب في زيادة التمييز بين العنوان بناءً على ما إذا كان المستخدم يقوم بإنشاء عقدة جديدة أو تحرير عقدة موجودة ، فاستخدم وظيفة Devel الوحدة النمطية dpm () لطباعة المصفوفة $ form_state ، وتحقق لمعرفة ما إذا كان هناك معرف عقدة بالفعل أم لا - إذا كان هناك ، فأنت تقوم بتحرير عقدة ؛ إذا لم يكن الأمر كذلك ، فأنت تقوم بإنشاء عقدة جديدة. قم بتعيين العنوان بشكل مناسب.

بينما قد تكون hook_form_alter () هي الصفحة الأكثر قوة (في حالة قيام شخص ما بعرض نموذج إضافة العقدة من مكان آخر بخلاف العقدة/إضافة/[نوع]) ، يمكنك أيضًا التحقق من المسار في hook_init () وتعيين العنوان هناك ، أو من مجموعة متنوعة من الأماكن الأخرى (في Drupal 7، hook_page_alter () ربما).

15
geerlingguy

كان لدي نفس المشكلة واضطررت إلى كتابة وحدة نمطية لذلك.

يمكنك العثور على الوحدة النمطية الخاصة بي التي ساهمت بها Node Add Title for Drupal 7

تتيح لك Node Add Title تغيير عنوان صفحات إنشاء العقدة وصفحات تحرير العقدة.

آمل أن يساعد.

4
GoingDrupal