علاقات العقدة في وجهات النظر دروبال
-
18-09-2019 - |
سؤال
أنا تكافح قليلا مع طريقة عرض تحصل على بيانات من عقدة تستخدم حقول مرجعي عقدة، والتي تشير إلى نفس النوع من المحتوى. من طريقي أحصل على سلسلة واحدة كوسيطة، دعونا نسميها $fruit
.
الاستعلام الذي سأجعله إذا كنت أكتب الاستعلام بنفسي سيكون مثل SELECT * FROM recipe WHERE (fruit_1=$fruit OR fruit_2=$fruit)
. وبعد مشكلتي هي أنني لا أحصل على كيفية القيام بذلك في طريقة عرض Drupal. أي اقتراحات؟
تحديث: حل أخيرا ما كنت أحاول القيام به. الحل بالنسبة لي كان للاستخدام Panels
جنبا إلى جنب مع View
استخدام Views Or
الحجج، وإعداد كل من قيم الحجج إلى نفسه باستخدام الأول Panels
جدال. لست متأكدا مما إذا كنت أشرح مشكلتي أو حلاي بشكل صحيح، ولكن إذا كان أي شخص يحتاج إلى تفسير أوثق، فلا تتردد في طرحه.
المحلول
المشاهدات أو وحدة الملحق: http://drupal.org/project/views_or.
يجب أن يتم تضمينها حقا مع وجهات النظر افتراضيا لأنها قوية جدا.
يضع خيار "البدء البدائل" أساسا "(" ("في استفسارك. خيار" البديل التالي "يضع أساسا" أو "في استفسارك. خيار" البدائل النهائية ". يضع خيار" نهاية البدائل "بشكل أساسي") "في استفسارك.
طرق عرض المشاهدات هي الإعداد "و" بين كل حقل، يضيف ذلك "أو" القدرة. لذلك استخدام مثال الخاص بك سيكون المرشحات الخاصة بك شيء مثل:
Content Type = Recipe
Begin Alternatives
Node Title = fruit_1
Next Alternative
Node Title = fruit_2
End Alternatives
لاحظ أنه يمكنك الحصول على العديد من خيارات أو خيارات باستخدام مرشحات "البديلة التالية"، كل تضع كل منها "أو" بين المرشحات الأخرى. إذا كنت لا تزال مربكة، تحقق من معاينة الاستعلام في جزء المشاهدات الخاصة بك بعد كل تغيير.
نصائح أخرى
لا أعتقد أن هناك طريقة للقيام ... أو ... جزء من استفسارك في وجهات النظر واجهة المستخدم. ومع ذلك، يمكنك إجراء الوحدة النمطية الخاصة بك واستخدام المشاهدات UI لتوليد الجزء الأول من الاستعلام، ثم استخدم hook_views_query_alter
في الوحدة النمطية الخاصة بك إلى مجرد إلحاق WHERE (fruit_1=$fruit OR fruit_2=$fruit)
إلى نهاية الاستعلام.
مزيد من المعلومات حول hook_views_query_alter
هنا و هنا. وبعد حظ سعيد.