इस साइट पर यह मेरा पहला उत्तर है। मैं पिछले दो दिनों से इस काम को करने की कोशिश कर रहा था और मैं आखिरकार इसे काम करने में सक्षम था, इसलिए मैं इसे साझा करना अच्छा होगा।
सबसे पहले आपको एक मॉड्यूल बनाने की आवश्यकता है:
- registration.php
- etc / module.xml
- देखने / दृश्यपटल / लेआउट / default.xml
- देखने / दृश्यपटल / टेम्पलेट्स / minicart_open.phtml
- देखें / दृश्यपटल / वेब / js / देखें / minicart_open.js
चरण 1. आपको साइट पर एक टेम्पलेट जोड़ने की आवश्यकता है। ऐसा करने का तरीका default.xml है
<referenceContainer name="content">
<block class="Magento\Framework\View\Element\Template" name="minicart.autoopen" template="Company_ModuleName::minicart_open.phtml"/>
</referenceContainer>
चरण 2। फिर minicart_open.phtml के अंदर हमें अपने जेएस फ़ाइल (घटक) को कॉल करने की आवश्यकता है, इसे मिनीकार्ट के माता-पिता से जोड़कर। इस मामले में, [डेटा-ब्लॉक = 'मिनिकर्ट']। देखें इस लिंक अधिक जानकारी के लिए।
<script type="text/x-magento-init">
{
"[data-block='minicart']" : {
"Company_ModuleName/js/view/minicart_open" : {}
}
}
</script>
चरण 3। और अंत में, minicart_open.js के अंदर, जादू कोड:
define(["jquery/ui","jquery"], function(Component, $){
return function(config, element){
var minicart = $(element);
minicart.on('contentLoading', function () {
minicart.on('contentUpdated', function () {
minicart.find('[data-role="dropdownDialog"]').dropdownDialog("open");
});
});
}
});
मूल रूप से यह कोड फ़ाइल की कार्यक्षमता को बढ़ाता है vendor/magento/module-checkout/view/frontend/web/js/view/minicart.js
, और यह कहता है कि एक बार AJAX कॉल पूरा हो जाने पर (contentUpdated), मिनीकार्ट को खोला जाना चाहिए।
और यह यह है, बहुत सारे सिद्धांत के साथ एक सरल कार्य। आशा करता हूँ की ये काम करेगा।