سؤال

لقد قمت بإنشاء "حول المؤلف" المشاهدات كتلة في دروبال. يرتبط هذا في user_id من CREATER من العقدة الحالية، والذي يعمل بشكل رائع.

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

يمكن لأي شخص مساعدتي؟

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

المحلول

أوصي باستخدام Pathauto. لإعطاء كل عقدة من نوع البادئة عنوان URL المشترك (فكرة جيدة على أي حال)، حتى تتمكن من استخدام تقييد مسار رؤية بلاك بسيط. على سبيل المثال، يمكنك تعيين نمط مسار نوع المحتوى الخاص بك إلى "المادة / [العنوان] ثم قم بتعيين مسار الكتلة الخاص بك إلى "المادة / *"

نصائح أخرى

لا، يمكنك استخدام View's Build-Void-Valident Validator.

السابق. كيف تحد من وجهة نظر إلى قيمة UID للمستخدم؟ " المعنى، كيف يمكن رؤية أي عرض معين إلا من قبل المستخدم الذي تم تسجيله في المستخدم الذي يمتلك هذا المحتوى.

إليك وجهات النظر وسيطة php prod prod forced.

global $user; return $argument[0] == $user->uid;

ما عليك سوى إنشاء رأيك، انتقل إلى صفحة تكوين Block واستخدم PHP لقواعد ظهور الكتلة. لإظهار الكتلة فقط على أنواع محتوى معينة، استخدم:

<?php
$match = FALSE;
$types = array('story' => 1, 'page' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $nid = arg(1);
  $node = node_load(array('nid' => $nid));
  $type = $node->type;
  if (isset($types[$type])) {
    $match = TRUE;
  }
}
return $match;
?>

يتم أخذ هذا الرمز من drupal.org، نظرة عامة على النهج لمنع الرؤية

أفضل:

<?php
$match = FALSE;
$types = array('story' => 1, 'page' => 1);
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $nid = arg(1);
  $node = node_load($nid);
  $type = $node->type;
  if (isset($types[$type])) {
    $match = TRUE;
  }
}
return $match;
?>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top