मैं वैश्विक उपयोग करते हुए 404 को वापस करने के लिए अपने विचार कैसे निर्धारित करूं: प्रासंगिक फिल्टर के तहत अशक्त?


14

मानक Drupal व्यवहार सभी तर्कों को पारित करने के लिए है, चाहे उन्होंने अनुरोध किया हो या नहीं। कभी-कभी यह व्यवहार वांछित होता है। हालाँकि, मुझे किसी भी चीज़ के लिए 404 लौटाने की ज़रूरत है, लेकिन क्वेरी स्ट्रिंग।

समस्या का उदाहरण http://drupal.org/project/modules http://drupal.org/project/modules/google.com <- इसमें 404 लौटाने चाहिए; 200 दिया गया। डुप्लिकेट सामग्री जुर्माना!

विचारों 404 मॉड्यूल मानता है कि डिफ़ॉल्ट रूप से आप तर्क के माध्यम से पारित नहीं करना चाहती। हालांकि मॉड्यूल का कोई D7 संस्करण नहीं है।

लेकिन प्रोजेक्ट पेज में कहा गया है कि व्यूज के लिए 404s को ग्लोबल: नाल अंडर आर्गुमेंट्स पर सेट करके भी पूरा किया जा सकता है।

स्पष्ट रूप से D7 में "तर्क" अब "प्रासंगिक फ़िल्टर" हैं, लेकिन मैं इस बात के लिए अनिश्चित हूं कि मेरे इच्छित परिणाम प्राप्त करने के लिए ग्लोबल: अशक्त संदर्भ फिल्टर को जोड़ने के लिए कौन सी सेटिंग्स के साथ है।

किसी भी सहायता की सराहना की जाएगी।

जवाबों:


22

में प्रासंगिक फिल्टर का चयन करें जोड़ें ; दिखाई देने वाले संवाद बॉक्स में, ग्लोबल का चयन करें : नल

स्क्रीनशॉट

जोड़ें पर क्लिक करें और संदर्भ फ़िल्टर कॉन्फ़िगर करें ।

संवाद बॉक्स है कि अगले दिखाई देते हैं, fieldset में में जब फिल्टर मूल्य उपलब्ध है या एक डिफ़ॉल्ट प्रदान की जाती है , जाँच मान्यता मानदंड तय करें , का चयन बेसिक सत्यापन - - के लिए सत्यापनकर्ता , और चुनें शो "पृष्ठ नहीं मिला" के लिए कार्रवाई करता है, तो लेने के लिए फ़िल्टर मान मान्य नहीं करता है । Fieldset में अधिक , जाँच विफल बुनियादी मान्यता किसी तर्क दिया जाता है

स्क्रीनशॉट

मैंने इसे एक "लेख" के साथ परीक्षण किया जिसे मैंने बनाया, और यह काम करता है।

स्क्रीनशॉट

स्क्रीनशॉट

"ग्लोबल: नल" तर्क अंतिम होना चाहिए। यदि आपको उपयोगकर्ता आईडी की आवश्यकता है, उदाहरण के लिए, पहले आप इसे तर्क के रूप में जोड़ते हैं, और फिर "वैश्विक: अशक्त" तर्क जोड़ते हैं।

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

स्क्रीनशॉट

स्क्रीनशॉट


1
यह 403 नहीं 404 कोड त्रुटि लौटाएगा। इसके बजाय "शो" पेज नहीं मिला "विकल्प चुनें
यूजीन फिदेलिन

डीओ पर एक थ्रेड में मैं किसी को arg (1) == NULL का उपयोग करने का सुझाव देता हूं; php मान्य कोड में। क्या यह बेहतर है या बहुत अधिक समान है?
निगेल वाटर्स

1
@EugeneFidelin मैं "मास्टर" प्रदर्शन संपादित कर रहा था, और मैं "पृष्ठ नहीं मिला" शो को विकल्प के रूप में देख रहा था । मैंने अपना जवाब सही किया।
kiamlaluno

@NigelWaters मेरे पिछले जवाब को भूल जाओ। :)मैं गलत प्रदर्शन संपादित कर रहा था, और दृश्य उस तरह से काम नहीं कर रहा था जैसे कि करना चाहिए। तर्क को मान्य करने के लिए PHP कोड का उपयोग करने की कोई आवश्यकता नहीं है; अद्यतन उत्तर देखें।
kiamlaluno

मेरे पास अभी तक टिप्पणी करने के लिए पर्याप्त बिंदु नहीं हैं - इसलिए @kiamlaluno को धन्यवाद कहने के लिए यहां पोस्ट करना। महान काम करता है और कुछ समय के लिए मैं अपना सिर पीट रहा था।
ब्लू वाटर्स

1

आप बॉक्स कार्यक्षमता से बाहर के विचारों का उपयोग करके ऐसा कर सकते हैं। प्रत्येक संदर्भ फ़िल्टर सेटिंग में आप अधिक सेटिंग्स देखने के लिए चेक-बॉक्स "सत्यापन मानदंड निर्दिष्ट करें" देख सकते हैं।

फिर, आप अपनी दृश्य स्थितियों के आधार पर "सत्यापनकर्ता" का चयन कर सकते हैं। यदि आप कस्टम सत्यापन करना चाहते हैं तो php कोड चुनें। अपनी मान्यता शर्तों के आधार पर php कोड में सही या गलत लौटें।

अंत में डिस्प्ले एक्सेस के रूप में "एक्शन टू एक्शन" का चयन करें! निड प्रासंगिक फ़िल्टर के लिए नीचे स्क्रीनशॉट देखें।

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


Php कोड क्या है जो मैं जोड़ता हूँ?
निगेल वाटर्स

मैं केवल ग्लोबल का उपयोग कर रहा हूं: अशक्त संदर्भ फिल्टर
निगेल वाटर्स

3
कभी भी VIEWS या किसी अन्य UI उपकरण में PHP कोड का उपयोग करें !!!
hugronaphor
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.