Magento के बैकएंड में 1 विजेट सेटअप - मैं ऊपर की ओर कैसे बढ़ूं


11

मेरे पास बैकएंड -> सीएमएस -> विजेट के माध्यम से सभी श्रेणी के पृष्ठों पर एक विजेट सेटअप है

अब जब मैं इस पद्धति का उपयोग करता हूं तो मैं श्रेणी पृष्ठों के लिए एक ब्लॉक का चयन करता हूं और ब्लॉक अच्छी तरह से दिखाई देता है। यह बाएं कॉलम की अन्य सभी जानकारियों में सबसे नीचे है।

लेकिन मैं ब्लॉक को शीर्ष पर कैसे ले जाऊं? (ऊपर स्तरित आदि) ...

विकल्प का उपयोग करना है local.xml, कि मैं पसंद नहीं करता हूं + यह फिर मेरी सभी वेबसाइटों पर दिखाई देता है जो समान थीम का उपयोग करते हैं।


3
शायद custom layout updatesब्लॉक को जोड़ने और उसका उपयोग करने के लिए before=""या after=""इसे जोड़ने के लिए श्रेणी में फ़ील्ड का उपयोग करने का प्रयास करें ।
रिक कुइपर्स

जवाबों:


12

समस्या यह है कि Magento के पास बाएँ कॉलम के ऊपर विजेट कंटेनर नहीं है। आप ऐसे कंटेनर को दो चरणों में बना सकते हैं:

  1. आपको local.xml फ़ाइल में विजेट ब्लॉक कंटेनर बनाएँ :

    <layout>
       <!-- category pages with layered navigation -->
       <catalog_category_layered>
            <update handle="custom_top_container" />
       </catalog_category_layered>
       <!-- category pages without layered navigation -->
       <catalog_category_default>
            <update handle="custom_top_container" />
       </catalog_category_default>
       <!-- custom block container on that page -->
       <custom_top_container>
            <reference name="left">
               <block name="left_top" type="core/text_list" before="-" translate="label">
                    <label>Left Column Top</label>
               </block>
            <reference>
       </custom_top_container>
    </layout>

    निम्न उदाहरण में कैटलॉग_कैटरोरी_डेफ़ॉल्ट और कैटलॉग_ कैटेगोरी_लेयर श्रेणी पृष्ठों के लिए हैंडल हैं और कस्टम लेआउट अपडेट द्वारा इन पेजों में custom_top_container हैंडल शामिल हैं । नया left_top ब्लॉक Mage_Core_Block_Text_List का एक प्रकार है , जो इसे सौंपे गए बाल ब्लॉकों का संक्षिप्त उत्पादन दिखाता है, इसलिए यदि कोई विजेट इसमें नहीं जोड़ा गया है तो यह खाली हो जाएगा। अब जब लेआउट विजेट कॉन्फ़िगरेशन के लिए तैयार है, तो अगले चरण की जांच करें।

  2. अपनी थीम की डायरेक्टरी आदि में widget.xml फ़ाइल बनाएँ (यदि आप इस विषय को उस विन्यास से संरक्षित नहीं करेंगे, जो आप विस्तार कर रहे हैं, तो आपको इसे उस थीम से अपने में कॉपी करना होगा)। इस विजेट.एक्सएमएल में मैग्नेटो के लिए अतिरिक्त जानकारी होनी चाहिए ताकि यह पता चल सके कि कौन सा विजेट आपके नए बनाए गए कंटेनर का समर्थन करता है:

    <widgets>
        <[widget_id]>
            <supported_blocks>
                <left_column_top>
                    <block_name>left_top</block_name>
                </left_column_top>
             </supported_blocks>
        </[widget_id]>
    </widgets>

    इस कॉन्फ़िगरेशन फ़ाइल से Magento को पता चलता है कि एडमिन पैनल में संभावित कंटेनर को पुनः प्राप्त करने के लिए कौन से ब्लॉक का उपयोग किया जा सकता है।

बोएँ, आप व्यवस्थापक पैनल में जा सकते हैं और विजेट लेआउट अपडेट के लिए अपना लेफ्ट कॉलम टॉप कंटेनर चुन सकते हैं ।


धन्यवाद इवान। और myabe सबसे अच्छा तरीका है - अगर हम स्थानीय संपादन कर रहे हैं। Xml वैसे भी - यह भी है कि तुरंत CMS ब्लॉक को कॉल करें (केवल एक छोटी छवि जो शीर्ष बाईं ओर के लिए थी)
snh_nl

2

आप उस ब्लॉक का उपयोग करके कॉल करने का प्रयास कर सकते हैं

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('BLOCK_ID_HERE')->toHtml() ?>

उपरोक्त कोड डालें:

दृश्यपटल / डिफ़ॉल्ट / YOURTHEME / टेम्पलेट / सूची / नेविगेशन / sidebar.phtml

कैटलॉग मेनू को प्रदर्शित करने वाले कोड के ऊपर।

इसे वेबसाइटों में प्रदर्शित करने से रखने के लिए प्रति वेबसाइट विभिन्न विषयों का उपयोग करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.