سؤال

أنا تكافح قليلا مع طريقة عرض تحصل على بيانات من عقدة تستخدم حقول مرجعي عقدة، والتي تشير إلى نفس النوع من المحتوى. من طريقي أحصل على سلسلة واحدة كوسيطة، دعونا نسميها $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 هنا و هنا. وبعد حظ سعيد.

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