खोज के साथ विचारों को फ़िल्टर करने के लिए कैसे संयोजित करें?


18

मेरे मुवक्किल ने मुझसे एक ही क्षेत्र के लिए कहा, जो 2 तरह से काम करेगा:

  • टैक्सोनॉमी पर आधारित स्वत: पूर्ण फ़िल्टर।
  • यदि साइट विज़िटर कुछ ऐसा इनपुट करता है जो टैक्सोनॉमी में नहीं है, तो सामग्री के शरीर पर पूर्ण पाठ खोज की जानी चाहिए, और उपयुक्त जानकारी संदेश दिखाया जाना चाहिए।

इस तरह यदि उपयोगकर्ता श्रेणी के नाम में प्रवेश करता है, तो उसे हाथ से चुने गए नोड सूचीबद्ध होंगे, और यदि कुछ और है, तो उसे कम से कम कुछ सामग्री मिलेगी।

अलग से, यह आसान है। लेकिन इन व्यवहारों को एक क्षेत्र में कैसे संयोजित किया जाए?


1
अलग-अलग यह आसान है, कि आप किस मॉड्यूल के साथ काम करना चाहते हैं जो टैक्सोनॉमी पर आधारित ऑटो पूर्ण है? मेरे लिए ट्रिक एक छोटा जावास्क्रिप्ट कोड होगा जो यह जांच करेगा कि क्या कोई परिणाम नहीं है सबमिट बटन कार्रवाई को बदल दें ताकि यह पुनर्निर्देशित हो जाए / खोज / yourkeywordsearch
sel_space

जवाबों:


17

खोजक मॉड्यूल आपकी आवश्यकता को ठीक करेगा, आप खोज करने के लिए टैक्सोनॉमी शब्द के साथ-साथ नोड टाइटल, बॉडी, फील्ड, आदि का चयन कर सकते हैं।

खोज फ़ॉर्म को आपकी आवश्यकता के अनुसार खोजने के लिए खोजक की कार्यक्षमता को एक साथ रखने के कई तरीके हैं। कई हुक और थीम फ़ंक्शन भी हैं जो खोजक के आउटपुट के पूर्ण अनुकूलन की अनुमति देते हैं।

इसका उपयोग इन उद्देश्यों के लिए किया जाता है:

As a search tool to find a group of nodes or users.
As a way to navigate to a specific node or user page that matches criteria.
As an alternative to exposed filters for a Views module display.

नीचे दिए गए स्क्रीन शॉट देखें, खोजक क्षेत्र में आप स्वत: पूर्ण उजागर क्षेत्र में खोज करने के लिए टैक्सोनॉमी शर्तों के साथ-साथ नोड बॉडी भी चुन सकते हैं, यहां तक ​​कि आप अल्पविराम द्वारा अलग किए गए कई कीवर्ड खोज कर सकते हैं। अधिक जानकारी के लिए खोजक प्रलेखन पढ़ें ।

यहाँ छवि विवरण दर्ज करें

एक बार जब आप तत्व जोड़ लेते हैं तो आप सूची से खोजक फ़ील्ड का चयन कर सकते हैं

Ctrl कुंजी को टैक्सोनॉमी शब्द के साथ-साथ नोड: बॉडी का चयन करने के लिए


यह थोड़ा पुराना है और सह-अनुरक्षकों की जरूरत है, लेकिन ऐसा लगता है कि यह मेरी सभी जरूरतों को पूरा करता है। इसका परीक्षण करने की आवश्यकता होगी, लेकिन अभी तक यह मेरे उपयोग के मामले के लिए एकदम सही जवाब है।
मोलॉट

लगता है यह काम करता है। मुझे इसे थोड़ा ट्यून करने की आवश्यकता होगी, लेकिन यह काम कर सकता है।
मोलॉट

3

मैं परीक्षण के बिना लिख ​​रहा हूं लेकिन मुझे लगता है कि आप इसे कम से कम शुरुआती बिंदु के रूप में उपयोग कर सकते हैं।

व्यू फील्ड व्यू मॉड्यूल का उपयोग करके , आप किसी दृश्य को दूसरे दृश्य में एम्बेड कर सकते हैं, और यह आपको एम्बेडेड दृश्य के लिए एक संदर्भ फ़िल्टर भी पास करने की अनुमति देता है।

आपके मामले में, मैं एक और दृश्य बनाऊंगा जिसमें एक संदर्भ फ़िल्टर है जो दिए गए फ़िल्टर को खोजता है। मुझे उस बिंदु पर यकीन नहीं है, यदि आप प्रासंगिक फिल्टर के माध्यम से खोज कर सकते हैं, लेकिन मैंने कुछ विकल्प देखे हैं जैसे 'खोज: शब्द आदि।

यह कहते हुए कि, यदि आप किसी भी तरह इस पहले चरण को प्राप्त कर सकते हैं, तो बाकी अपेक्षाकृत सरल है।

अपने मूल दृश्य में, आप उन्नत विकल्प अनुभाग के तहत 'कोई परिणाम व्यवहार नहीं' जोड़ते हैं, और 'वैश्विक: दृश्य (दृश्य फ़ील्ड दृश्य)' जोड़ते हैं और आपके द्वारा पहले बनाए गए दृश्य का चयन करते हैं, और उजागर फ़िल्टर के लिए टोकन पास करते हैं एम्बेडेड दृश्य के लिए प्रासंगिक फिल्टर (आप प्रतिस्थापन पैटर्न के लिए सूची में टोकन पा सकते हैं)।


1
दिलचस्प विचार है, लेकिन मैं इसे काम करने के लिए नहीं मिल सका। विन्यास के बहुत सारे और फिर बाला ने तैयार मॉड्यूल पोस्ट किया और मैंने अपना दिल खो दिया।
मोलॉट

हां, मुझे फाइंडर मॉड्यूल के बारे में पता नहीं था । मुझे लगता है कि मैं इसे अपनी परियोजनाओं में भी इस्तेमाल करूंगा। मुझे खुशी होगी यदि आप हमें एक टिप्पणी के साथ बताएं, यदि खोजकर्ता वह करता है जो आप अपेक्षा करते हैं।
Елин Й

3

मैं उपरोक्त चर्चाओं से गुज़रा हूं और संभवतः नीचे का परिदृश्य 'खोज के साथ उजागर फ़िल्टर को कैसे संयोजित करें' पोस्ट को संबोधित कर सकता है। कार्यान्वयन के लिए कुछ कस्टम कोडिंग की आवश्यकता होगी।

  1. Url http://www.seedandspark.com/studio पर विचार करें ।
  2. यहां, बाईं ओर, आपके पास एक खोज फ़ॉर्म है। यह एक कस्टम फ़ॉर्म ( form_id = 'sns_studio_form_filter') है।
  3. सामग्री क्षेत्र पर हमारे पास लगभग 7-8 दृश्य ब्लॉक हैं और सभी गतिशील जानकारी उत्पन्न करते हैं (अनाम उपयोगकर्ताओं के लिए केवल 3 ब्लॉक)
  4. अब, हमने प्रत्येक दृश्य ब्लॉक के साथ सक्षम फिल्टर को उजागर किया है।
  5. हमने उन एक्सपोज़र फिल्टर को देखने से छिपा कर रखा है
  6. हमने url स्ट्रक्चर्स का एक नोट रखा है जब हम एक्सपोज़्ड फ़िल्टर को देखते हैं
  7. हमारे कस्टम फॉर्म सबमिट हैंडलर में, हम कस्टम फॉर्म के क्षेत्रों से जानकारी लेते हैं और समान url उत्पन्न करते हैं जैसा कि हमने चरण 6 में नोट किया है। और अंत में हम उस यूआरएल को रीडायरेक्ट करते हैं। यह सबमिट हैंडलर में इस तरह होगा ::

    $form_state ['redirect'] = array(
      $path, 
      array(
        'query' => $params // $params is the url
      )
    );
    drupal_redirect_form( $form_state );

इसलिए, अब एक बार चरण 7 निष्पादित हो जाने पर, सभी दृश्य ब्लॉक आपके द्वारा निर्धारित फिल्टर मानदंडों के आधार पर फ़िल्टर हो जाएंगे।

आशा करता हूँ की ये काम करेगा।


3

इसे करने का एक और तरीका भी है: आप कॉनैट फील्ड मॉड्यूल को आज़मा सकते हैं । आप मूल रूप से सामग्री प्रकारों में फ़ील्ड जोड़ते हैं, और फिर आप खोज के रूप में इस फ़ील्ड द्वारा फ़िल्टर का उपयोग कर सकते हैं।

यह खोजक के समान है, मैं सहमत हूं, लेकिन मुझे लगता है कि यह अभी भी ध्यान देने योग्य है।

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