मुझे एक समान समस्या थी और मैंने न केवल इसका समाधान खोजा, बल्कि यह भी देखा कि कैसे काम करता है। मैंने जो सीखा उसे साझा किया और आपकी समस्या का समाधान भी।
जब आप एक या अधिक प्रासंगिक फ़िल्टर के साथ एक दृश्य बना रहे हैं, तो दृश्य को कहीं से उन फ़िल्टर के मान प्राप्त करने होंगे। इसके द्वारा किया जा सकता है -
- URL से संदर्भ फ़िल्टर मूल्य (ओं) को चुनना
- आमतौर पर आपके पास ऐसे उद्देश्यों के लिए एक पृष्ठ दृश्य होगा , जिसमें फ़ॉर्म का URL हो
foo/%/bar
या foo/bar/%
एकल संदर्भ फ़िल्टर या फ़ॉर्म का foo/%/bar/%
या foo/bar/%/%
फ़िल्टर के लिए
- यदि आपके पास एक से अधिक फ़िल्टर हैं, तो url मान जो पहले दिखाई देता है वह पहले फ़िल्टर के लिए मैप किया जाता है, दूसरे फ़िल्टर के आगे और इसी तरह।
- दृश्य आपको यह बताने की अनुमति देते हैं कि यदि URL में फ़िल्टर मान उपलब्ध नहीं हैं तो क्या करें । यह आमतौर पर ब्लॉक व्यू के लिए उपयोग किया जाता है ।
- आप विभिन्न कार्यों में से चुन सकते हैं और फिर पसंद को भी कॉन्फ़िगर कर सकते हैं।
asdfj kajsdf
- एक अन्य बात यह है कि आप यह बता सकते हैं कि फ़िल्टर मानों के साथ क्या करना है यदि वे URL में पाए जाते हैं जैसा कि # 1 में वर्णित है। विशिष्ट उपयोग के मामले हैं - फिल्टर मान, मान्य फ़िल्टर मान आदि के आधार पर गतिशील शीर्षक बनाना।
- फ़िल्टर मानों को मान्य करते समय, आप मान भी बदल सकते हैं! (यही वह जगह है जहाँ हमारा समाधान btw निहित है)। यह उस तरह से बहुत महत्वपूर्ण है जिस तरह से हम ड्रुपल फॉर्म वैलिडेशन कॉलबैक में $ फॉर्म मूल्यों को बदल सकते हैं।
आपकी विशिष्ट समस्या का समाधान उपरोक्त छवि में तीरों द्वारा इंगित अनुभागों में एक समान कोड का उपयोग करने में निहित है।
यह कड़ी मेरे लिए बहुत मददगार साबित हुई। यहाँ इसका एक अंश दिया गया है:
$np = explode('/', drupal_get_normal_path($argument));
if (!empty($np[1])) {
$handler->argument = $np[1];
return TRUE;
} else {
return FALSE;
}