it-swarm.asia

كيف أخفي الصفحة / العقدة الافتراضية؟

Drupal خارج الصندوق يأتي مع صفحة (وهي الصفحة الرئيسية الافتراضية) التي تم تعيينها إلى المسار العقدة.

كيف أتجنب وصول المستخدمين إليه ، وأعيد توجيههم إلى الصفحة الرئيسية الفعلية للموقع؟

22
wiifm

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

17
Berdir

أنشئ اسمًا مستعارًا للمسار يعيد التوجيه من/عقدة إلى الصفحة التي تريد استخدامها كصفحة أمامية.

8
kiamlaluno

أنا أفضل أن أغير استدعاء الصفحة من/العقدة بحيث يظهر خطأ 404 صفحة.
يعرض هذا دائمًا صفحة 404 المخصصة عند الدخول/العقدة.

function yourmodule_menu_alter(&$items) {
    $items['node']['page callback'] = 'drupal_not_found';      
}
6
Marc Bachmann
<?php
function MY_MODULE_menu_alter(&$callbacks) {
unset($callbacks['node']);
}
?>

أو أضف هذا إلى settings.php (عناوين URL الواردة)

<?php
function custom_url_rewrite_inbound(&$result, $path, $path_language) {
  if ($path == 'node') {
    $result = ''; 
  }
}
?>
4
AyeshK

استخدمت Redirect الوحدة: لقد أضفت للتو إعادة توجيه 301 جديدة من node إلى <front>.

2
ACD

يمكنك إنشاء صفحة تم تعيينها إلى/عقدة لم يتم نشرها. لذا فإن المستخدمين الذين سوف يتصلون بهذا المسار سيكون لديهم صفحة ممنوعة من الوصول

1
pitop

على غرار إجابة berdirs ، لدي التعليمات البرمجية التالية المضمنة في وحدة نمطية هي جزء من توزيعة مخصصة نبني منها:

function HOOK_menu_alter(&$items) {
  $items['node']['page callback'] = '_HOOK_empty_home';
}

function _HOOK_empty_home() {
  drupal_set_title('');
  return '';
}

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

1
Decipher

يمكنك إنشاء صفحة جديدة بعنوان URL للعقدة ويمكن للأشخاص رؤية رسالة تعيد توجيههم لزيارة الصفحة الأمامية أو اختيار فئة لشيء ما.

1
Mario

كان الحل السهل بالنسبة لي هو إنشاء صفحة كنت أريد أن أكون الصفحة الرئيسية وتعيين URL إلى/عقدة. ثم تحت/admin/config/system/site-information قم بتعيين الصفحة الأمامية الافتراضية إلى/node. لن ترى مطلقًا "/ العقدة" في عنوان URL ما لم يكتبه أحد الأشخاص بالفعل. إنه سريع وسهل ونظيف ، بشرط أن ترغب في تعيين عنوان URL لصفحتك الرئيسية على/عقدة.

1
Jack McKenzie

حاولت أشياء متعددة. ثم ل Drupal 7 و 8 ، وجدت أن هذا أسهل ، دون كتابة أي رمز:

قم بتنزيل وتمكين وحدات node_page_disable و globalredirect و redirect modules.

(ملاحظة: node_page_disable module يعيد التوجيه/العقدة إلى 404 صفحة خطأ غير موجودة.)

ثم قم بإضافة إعادة توجيه ل/عقدة -> الصفحة الأولى

يرجى ملاحظة أن إعادة التوجيه تعيد توجيه كل من/العقدة و/العقدة/إلى الصفحة الأولى.

ومقال مفيد للقراءة: https://www.drupalaid.com/blog/3-things-you-should-hide

1
Kasım Burak Özdemir

سؤال شائع منذ بضع سنوات ، مع بعض الإجابات المثيرة للاهتمام بالفعل. ومع ذلك ، خمن ما يلي: "في هذه الأيام هناك وحدة لها ... في الواقع حتى اثنين!" (لم يذكر في أي من الإجابات السابقة).

تابع القراءة لمزيد من التفاصيل ... (الاقتباسات من صفحات مشروعهم) ...

مسؤول صفحة العقدة (إما D6 أو D7):

تضيف هذه الوحدة لوحة إعدادات إدارية للتعامل مع /node الوصول إلى الصفحة. بمجرد تنشيطه ، هناك ثلاثة تكوينات محتملة:

  • Core - Drupal Core الوصول إلى صفحة العقدة كالمعتاد: جميع المستخدمين الذين لديهم إذن "الوصول إلى المحتوى"
  • معطل - لن يتمكن أحد من الوصول/العقدة. ستعرض "الصفحة غير موجودة" (404).
  • عن طريق الإذن - سيتم معالجة الوصول بإذن جديد: "صفحة عقدة الوصول"

تعطيل صفحة العقدة (إما D6 أو D7 ، على الرغم من إصدارات RC2 فقط):

يسمح بالوصول السهل لواجهة المستخدم وتعطيل المسار /node = عند عدم استخدامه. هذا مستوحى من اعتبار أمني في وحدة فحص الإنتاج .

0
Pierre.Vriens

قم بإنشاء عقدة ، ثم انتقل إلى تكوين الموقع -> معلومات الموقع ، واضبط الصفحة الرئيسية على مسار العقدة. لذلك إذا كانت العقدة الأولى ، فستكون العقدة/1.

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

0
Mike L.

يمكنك استخدام Rules الوحدة للتحقق من عنوان url قبل عرض الصفحة وإعادة توجيه المستخدمين إلى صفحة أخرى إذا كنت ترغب في ذلك.

  • إضافة قاعدة مع الحدث: المحتوى سيتم عرضه
  • إضافة شرط: تنفيذ مخصص PHP code والتحقق من المسار
  • إضافة إجراء: إعادة توجيه الصفحة واختيار المسار الذي تريد إعادة التوجيه إليه
0
Laxman13