الوصول إلى العقدة / المشاهدات: ما هي وظيفة Domain_site و Domain_id Realm

StackOverflow https://stackoverflow.com/questions/2039736

سؤال

أحصل على عقد مكررة في عرض AA لقد قمت بإنشائها في دروبال. يبدو أن المشكلة مرتبطة بالطريقة التي يتم بها الانضمام في وجهات النظر لجدول Node_Access.

باستخدام DEVEL، أرى الاستعلام التالي:

    SELECT node.nid AS nid,
           node.language AS node_language,
           node_data_field_weekend.field_weekend_value AS node_data_field_weekend_field_weekend_value,
           node_data_field_weekend.field_weekend_value2 AS node_data_field_weekend_field_weekend_value2,
           node.type AS node_type,
           node.vid AS node_vid,
           node_data_field_weekend.field_weekend_loc_nid AS node_data_field_weekend_field_weekend_loc_nid
      FROM node node
 LEFT JOIN content_type_wwme_weekends node_data_field_weekend ON node.vid = node_data_field_weekend.vid
INNER JOIN node_access na                                     ON na.nid = node.nid
     WHERE (na.grant_view >= 1 AND
           (
           (na.gid = 0 AND na.realm = 'all') OR
           (na.gid = 0 AND na.realm = 'domain_site') OR
           (na.gid = 0 AND na.realm = 'domain_id'))) AND
           (
           (
           (node.type IN ('wwme_weekends')) AND
           (node.status <> 0 OR
           (node.uid = 0 AND 0 <> 0) OR 0 = 1)) AND
           (DATE_FORMAT(STR_TO_DATE(node_data_field_weekend.field_weekend_value, '%Y-%m-%dT%T'), '%Y-%m-%d') > '2010-01-10') )
  ORDER BY node_data_field_weekend_field_weekend_value ASC LIMIT 0, 5

يسبب الانضمام إلى جدول Node_Access السجلات الأخرى لتكرارها لأن هناك سجلات Node_Access متعددة إلى عقدة، واحدة بها عالم Domain_site وسجل واحد مع عالم Domain_ID.

نوع البيانات يشبه هذا (مع قطع بعض الأعمدة للإيجاز):

nid     gid    realm        grant_view  grant_update    grant_delete
73      0      domain_id    1           1               1
73      0      domain_site  1           0               0
988     0      domain_id    1           1               1
988     0      domain_site  1           0               0
90      0      domain_id    1           1               1

ما الغرض الذي يناسبه المجال؟ كيف يتم ملؤها هذه السجلات، والأهم من ذلك، كيف يمكنني إصلاح هذا؟ هل SQL أليس كذلك؟

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

المحلول 2

يبدو أن الإجابة أكثر دنيوية بكثير مما كنت أفكر فيه:

استخدم خيار تكوين "العقدة المميز" تحت طرق العرض، وهذا يأخذ Dupes.

نصائح أخرى

أعتقد أن العوالم تتناسب معها عندما يكون لديك موقع دروبال مع الوصول إلى مواقع متعددة يتم تشغيله واستخدام وحدة الوصول إلى المجال (http://drupal.org/project/domain.) إذا كنت لا تحتاج إلى إلغاء تثبيت وحدة الوصول إلى مجال الوصول إلى حل بعض هذا. إذا كنت بحاجة إلى ذلك، فمن المحتمل أن تحتاج إلى إضافة عامل تصفية لعرضك مع الوصول إلى العقدة: الوصول إلى وحدة طرق عرض المجال و / أو استخدامها. يجب أن تتجه إليك في الاتجاه الصحيح. أنا لم أعمل مع هذه الوحدات بنفسي. ذهبت للتو من خلال رمز الوحدة وصفحات المشروع. حظ سعيد!

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