मैं Magento 2 में कुछ काम कर रहा हूँ और कुछ मॉड्यूल ओवरराइट कर रहा हूँ (सामने वाले पर)।
हालाँकि आज मैं कुछ ऐसा कर चुका हूँ जो मैंने पहले कभी नहीं किया है। जो मॉड्यूल मैं उपयोग कर रहा हूं, उसके अंदर एक ब्लॉक है जिसमें निम्नलिखित हैं:
<referenceBlock name="product.info.details">
<block class="Vender\Module\Block\Catalog\Related" name="posts.tab" as="blog.posts"
template="Vender_Module::catalog/posts.phtml" group="detailed_info">
</block>
</referenceBlock>
यह अपना नाम निर्धारित करता है:
posts.tab
और फिर इसका उपयोग करने की अनुमति के रूप में कहा जाता है:
के रूप में = "blog.posts"
जब मैंने ब्लॉक को संदर्भित करने की कोशिश की, तो जैसा कि मैंने देखा था कि यह पृष्ठ से इसे हटा नहीं रहा था:
<referenceBlock name="product.info.details">
<referenceBlock as="blog.posts" remove="true"/>
</referenceBlock>
इसलिए मैं यह देखने के लिए गया कि पेज वास्तव में फ्रंटएंड पर क्या कहलाता है (बस इसे कहीं और नाम दिया जा रहा था या पोस्ट्स का उपयोग नहीं किया गया था। नाम) - ब्लॉक का नाम पोस्टबास के साथ बुलाया जा रहा है , जो ठीक है जैसा कि मैं सिर्फ संदर्भ है कि इसे हटाने के लिए ब्लॉक कर सकते हैं। यह ठीक काम किया।
लेकिन मेरे सवाल, क्यों ब्लॉक का उपयोग के माध्यम से खींचा जा रहा है नहीं किया जाता है के रूप में और के बजाय का उपयोग कर के माध्यम से खींचा जा रहा है नाम ।
दूसरी बात यह है कि क्या में है के रूप में , क्योंकि स्पष्ट रूप से ब्लॉक परस्पर विरोधी नाम वैसे भी हो सकता है नहीं और अद्वितीय होना चाहिए - लेकिन मैं पूरी तरह से गलत हो सकता है।