एक संदर्भ फिल्टर का उपयोग कैसे करें या?


18

नेट और एसई ब्राउज़ करने के बाद कुछ समय के लिए यह प्रतीत होता है कि 2 को संयोजित करने का कोई अच्छा समाधान नहीं है contextual filters को OR (डिफ़ॉल्ट के बजाय) के साथ ।

इस पोस्ट में एक PHP हैक का उल्लेख है और इस पोस्ट में 7.x-3.1 के विचारों में हालिया बदलाव बताते हुए एक मुद्दे के कुछ लिंक हैं । यह hook_views_query_alter(&$view, &$query)दृश्य को संशोधित करने के लिए उपयोग करने का भी उल्लेख करता है।

क्या किसी के पास काम करने का उदाहरण या बेहतर समाधान है?


मुझे नहीं लगता कि अब जैसा कोई बेहतर उपाय है। जैसा कि सूत्र में कहा गया है, यह स्पष्ट रूप से जारी है। मैं इस हफ्ते एक ही समस्या पर ठोकर खाई, और अनुलग्नकों के साथ एक वर्कअराउंड ढूंढना पड़ा। लेकिन फिर, यह एक मिश्रित सूची नहीं देता है, लेकिन दो जुड़े हुए हैं, जो सभी आवश्यकताओं के अनुरूप नहीं है।
काउंट्ज़ेरो

जवाबों:



7

टिप्पणी धागा यहाँ से शुरू होता है प्रभावी वर्कअराउंड वर्णन करती है। MotoTribe एक ही धागे से जुड़ा है, लेकिन उनके सवाल के समय, उस पृष्ठ पर कोई काम करने का उदाहरण नहीं था। अब निम्नानुसार है:

अपने मॉड्यूल में, लागू करें hook_views_api():

function MODULENAME_views_api() {
  return array(
    'api' => 3,
  );
}

फिर MODULENAME.views.inc नामक अपने मॉड्यूल में एक नई फ़ाइल जोड़ें, और कार्यान्वित करें hook_views_query_alter():

function MODULENAME_views_query_alter(&$view, &$query) {
  if ($view->name == 'whatever_your_view_is_called') {
    $query->where[0]['type'] = 'OR';
  }
}

इस चेतावनी के बारे में भी जानकारी रखें:

जाहिरा तौर पर, "सामग्री: प्रकाशित (हां)" फ़िल्टर जो प्रत्येक दृश्य के साथ आता है, उसी फ़िल्टर समूह का एक हिस्सा माना जाता है जिसे संदर्भ फ़िल्टर (समूह 0) कहा जाता है। तो मेरा दृश्य प्रदर्शन केवल प्रकाशित नोड्स बनाने के लिए जो प्रासंगिक फिल्टर (प्रकाशित और (arg1 या arg2 OR ...)) द्वारा निर्दिष्ट समूहों में से किसी एक से संबंधित हैं, मुझे "सामग्री: प्रकाशित (हां)" में स्थानांतरित करना पड़ा एक नया फ़िल्टर समूह ("और / या, पुनर्व्यवस्थित करें" संवाद का उपयोग करके)। ध्यान दें कि UI ने "सामग्री: प्रकाशित (हां)" को किसी नए समूह में स्थानांतरित करने के बाद किसी भी तरह से फ़िल्टर नहीं किया था (कोई अन्य समूह नहीं थे), लेकिन क्वेरी ऑब्जेक्ट में जो इसमें चला गया hook_views_query_alter()वह स्थानांतरित नहीं हुआ यह समूह 0 में समूह 1 से है, जिससे उपरोक्त कार्यों में कोड अब इसे प्रभावित नहीं करता है।


1
ओपी के प्रश्न के संदर्भों की प्रासंगिकता को कम से कम विरोधाभास देना बेहतर है। लिंक केवल उत्तर हतोत्साहित करते हैं क्योंकि लिंक जारी नहीं रह सकते हैं।
Triskelion

@Triskelion: आह, तुम बिल्कुल सही कह रहे हो। मैंने उसे ठीक करने के लिए अपनी प्रतिक्रिया संपादित की है।
coredumperror

4

एक मॉड्यूल है जो प्रासंगिक के फिल्टर का उपयोग करने के लिए या के बजाय के साथ करने के लिए दृश्य के हैंडलर को बदलता है: दृश्य प्रासंगिक फ़िल्टर या


मैं ध्वजांकित उपयोगकर्ताओं से "वर्तमान उपयोगकर्ता" + "सामग्री से एक दृश्य बनाना चाहता हूं (वर्तमान उपयोगकर्ता ने ध्वज का उपयोग करके ध्वजांकित किया है] [उपयोगकर्ता]"
उमर

2

प्रासंगिक फ़िल्टर और फ़िल्टर समूह के साथ स्थिति वास्तव में धूमिल है। इस टॉपिक के बारे में Do पर थ्रेड दिया गया है, जिसमें @CoreDumpError द्वारा बताया गया समाधान है।

https://drupal.org/node/1451218

इसके अलावा, यहां एक मॉड्यूल है जो परस्पर विरोधी प्रासंगिक और उजागर फ़िल्टर को सुलझाने में मदद कर सकता है ... व्यू फ़िल्टर हार्मोनाइज़र

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.