मैं पूर्व-निर्धारित फ़िल्टरों के साथ अपने व्यवस्थापक के कस्टम ग्रिड का लिंक बनाना चाहता हूं। ग्रिड एक यूआई लिस्टिंग घटक (एक्सएमएल) के साथ बनाया गया है और इसमें एक कॉलम है जिसे form_id
इस तरह सेटअप किया गया है:
<column name="form_id">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">textRange</item>
<item name="label" xsi:type="string" translate="true">Form id</item>
</item>
</argument>
</column>
ग्रिड ठीक काम करता है। मैं फ़िल्टर लागू कर सकता हूं और सब कुछ अच्छी तरह से काम करता है। ग्रिड XHR अनुरोध के साथ अच्छी तरह से अद्यतन हो जाता है।
हालांकि ... मैं कुछ बिंदु पर पूर्व-निर्धारित एक फ़िल्टर मान रखने में सक्षम होना चाहता हूं। उदाहरण के लिए, मैं आईडी = 3 पर फ़िल्टर किए जाने पर ग्रिड को खोलने में सक्षम होना चाहता हूं।
इसलिए मैंने पहले ही XHR-request के साथ ही URL पैरामीटर के साथ पेज लोड करने की कोशिश की, साथ ही साथ केवल आवश्यक मापदंडों को जोड़ते हुए:
?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1
साथ ही साथ:
?filters[form_id][from]=3&filters[form_id][to]=3
बिना किसी सफलता के दोनों। तो URL का उपयोग करके मैं फ़िल्टर कैसे भर सकता हूँ?
संपादित करें:
मुझे यकीन नहीं है कि यह दूसरे प्रश्न का एक डुप्लिकेट है (जैसा कि नीचे टिप्पणी में वर्णित है)। मेरे मामले में, मैं अपने ग्रिड के लिए संग्रह के रूप में एक आभासी प्रकार का उपयोग कर रहा हूं:
<virtualType name="Vendor\Module\Model\ResourceModel\Response\Grid\Collection"
type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">vendormodule_form_response</argument>
<argument name="resourceModel" xsi:type="string">Vendor\Module\Model\ResourceModel\Response</argument>
</arguments>
</virtualType>
तो ऐसा नहीं है कि मेरे पास अपने ग्रिड विजेट के लिए एक भौतिक ब्लॉक वर्ग है, यह विशुद्ध रूप से एक यूआई घटक लिस्टिंग XML के साथ बनाया गया है।
फिर भी, मैं किसी भी तरह से जाँच करूँगा यदि संदर्भित प्रश्न मेरे उपयोग के मामले में मदद करेगा।
prepareColumns
विधि के बजाय एक xml फ़ाइल में कॉन्फ़िगर किए गए थे ।