2012-02-01 16 views
5

को समझना मेरे पास लेआउट xml फ़ाइल के बारे में कुछ प्रश्न हैं जो ऐप \ design \ adminhtml \ default \ default \ layout में रखा गया है।Magento लेआउट xml फ़ाइल (संदर्भ, ब्लॉक, ...)

<layout> 
    <adminhtml_example_index> 
     <reference name="content"> 
      <block type="awesome/adminhtml_example" name="example" /> 
     </reference> 
    </adminhtml_example_index> 

    <adminhtml_example_edit> 
     <reference name="content"> 
      <block type="awesome/adminhtml_example_edit" name="example_edit" /> 
     </reference> 
    </adminhtml_example_edit> 
</layout> 

किसी कृपया समझा सकते हैं उन पंक्तियों के क्या मतलब है:

कुछ ट्यूटोरियल पर, यह इस संरचना था? ट्यूटोरियल यहां पाया जा सकता है: here

धन्यवाद!

उत्तर

5

लेआउट संचालकों MVC नियंत्रक पर मैप किए जाते तो अपने हैंडलर उम्मीद

<adminhtml_example_index> adminhtml/उदाहरण/सूचकांक नियंत्रक पेज में इस्तेमाल किया जाएगा

और

<reference name="content"> मतलब यह है कि ब्लॉक या उन के अंदर अन्य संदर्भ ब्लॉक आपके थीम टेम्पलेट्स पर content ब्लॉक में उपलब्ध होंगे

आगे पढ़ने के लिए मैं सुझाव देता हूं:

13

एक्सएमएल Magento के आधार संरचना बिट भ्रामक और शुरुआत लेकिन कम से कष्टप्रद लगता है इसकी अच्छी तरह से ज्ञात है कि अंततः मजबूत क्षमता और customizability ...

<adminhtml_example_index></adminhtml_example_index> 

यह टैग [राउटर] [c से संदर्भित करता है ontroller] [कार्रवाई] राउटर एक विशेष प्रेषण के लिए विशिष्ट रूप से पहचाना जाने वाला नाम है। आपके द्वारा दिए गए उदाहरण से, config.xml फ़ाइल के व्यवस्थापक टैग के तहत, हम राउटर नाम adminhtml पा सकते हैं।

<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <modules> 
        <awesome before="Mage_Adminhtml">Super_Awesome_Adminhtml</awesome> 
       </modules> 
      </args> 
     </adminhtml> 
    </routers> 
</admin> 

उस राउटर के तहत इस राउटर से संबंधित मॉड्यूल सेटिंग्स हैं।

तो यूआरएल /व्यवस्थापक/उदाहरण/[सूचकांक] शामिल है, Magento सही रूटर जो <adminhtml> तो नियंत्रक example नामित खोजने के लिए और सही कार्रवाई जो इस मामले में है मिलेगा है मिलेगा index(/ व्यवस्थापक/उदाहरण/रूटर नियंत्रक कार्रवाई संयोजन के लिए डिफ़ॉल्ट सूचकांक कार्रवाई करने के लिए भेजा जाएगा)

<adminhtml_example_index> 
    <reference name="content"> 
     <block type="awesome/adminhtml_example" name="example" /> 
    </reference> 
</adminhtml_example_index> 

लेआउट फ़ाइल में, लेआउट अद्यतन परिभाषित कर रहे हैं। यहां अद्यतन को content नामक मुख्य ब्लॉक पर लागू किया जाएगा जिसमें पृष्ठ सामग्री अनुभाग होता है।

<block> टैग का उपयोग उस ब्लॉक को परिभाषित करने के लिए किया जाता है जिसे हमें संदर्भित करने की आवश्यकता है। <type> टैग महत्वपूर्ण है।यह सही ब्लॉक वर्ग है कि जब इस लेआउट (Magento के MVC संरचना में याद रखें देखें दोनों ब्लॉक वर्गों और phtml फ़ाइलों के होते हैं)

awesome/adminhtml_example यहाँ में प्रतिपादन किया जाना चाहिए करने के लिए संदर्भित करता है, awesome ब्लॉक विन्यास नाम में उल्लेख किया है config.xml फ़ाइल। adminhtml_example ब्लॉक वर्ग का उपयोग किया जाना है।

<global> 
    ----- 
    <blocks> 
     <awesome> 
      <class>Super_Awesome_Block</class> 
     </awesome> 
    </blocks> 
</global> 

देखें block टैग के तहत, एक अनूठा ब्लॉक नाम परिभाषित किया गया है (अच्छा नामकरण परंपरा विशिष्टता सुरक्षित करेगा)। फिर इन ब्लॉक के लिए क्लास पथ को Super/Awsome/Block/ के रूप में पहचाना जा सकता है।

ब्लॉक कॉन्फ़िगरेशन नाम अब हल हो गया है। adminhtml_example उपयोग करने के लिए सटीक ब्लॉक वर्ग है। ब्लॉक नाम (भयानक) के बाद कोई भी अंडरस्कोर निर्देशिका विभाजक में परिवर्तित हो जाएगा।

कि के अनुसार, ब्लॉक वर्ग का पूरा पथ

[codepool]/Super/Awsome/Block/Adminhtml/Example.php 

हो जाएगा वर्ग के नाम की तरह

class Super_Awesome_Block_Adminhtml_Example extends …. 

हो जाएगा हम लेआउट फ़ाइल हम इसे यहाँ निर्दिष्ट कर सकते हैं .. .phtml फ़ाइल के ऊपर ब्लॉक वर्ग

<reference name="root"> 
    <block type="page/html" name="root" template="simplepage.phtml" /> 
</reference> 

आशा वीं का उपयोग कर रेंडर किया जाएगा तो उस मदद करता है .. क्षमा करें अगर कुछ अस्पष्ट है ...

+1

स्पष्टीकरण शानदार है। कीप आईटी उप। :) – Coder

संबंधित मुद्दे