2012-04-10 17 views
9

जोड़ें मेरे पास सीएमएस-> पृष्ठ "होम पेज" फ़ाइल है। सामग्री में मैं इस तरह की रेखा लिख ​​रहा हूं:सीएमएस पृष्ठ ब्लॉक magento

{{block type="myfolder/newfile" template="myfolder/newfile.phtml"}} 

मैं सामग्री फ़ाइल newfile.phtml में प्रस्तुत करना चाहता हूं। क्या मैं गलत हूं ? एप्लिकेशन \ डिजाइन \ दृश्यपटल \ डिफ़ॉल्ट \ themeas \ टेम्पलेट \ MyFolder \ newfile.phtml

उत्तर

21

आप अपने ब्लॉक एक नाम देने की जरूरत है:

मेरा नया फ़ाइल के अधीन है। इस प्रकार Magento ब्लॉक का संदर्भ देगा। साथ ही, ब्लॉक को प्रस्तुत करने के लिए आपका ब्लॉक प्रकार मान्य होना चाहिए। डिफ़ॉल्ट ब्लॉकों का उपयोग कर type = "कोर/टेम्पलेट" की कोशिश के लिए

आपका नया कोड इस तरह दिखना चाहिए:

{{block type="core/template" name="my.block.name" template="myfolder/newfile.phtml"}} 

प्रकार विशेषता के बारे में एक टिप्पणी है, इसकी वास्तव में नहीं एक निर्देशिका/फ़ाइल संरचना, बल्कि, यह है एक यूआरआई जिसे Magento autoloader के साथ मैप किया गया है। "कोर" Mage_Core_Block_Core क्लास (ऐप/कोड/कोर/मैज/कोर निर्देशिका के अंतर्गत) से संबंधित है और फिर स्लैश के बाद की जानकारी उस निर्देशिका के अंदर फ़ोल्डर्स से संबंधित है। तो टाइप करें = "कोर/टेम्पलेट" इस वर्ग Mage_Core_Block_Core_Template को हल करता है जो ऐप/कोड/कोर/मैज/कोर/ब्लॉक/टेम्पलेट.एफपी पर स्थित है। सभी प्रकार की विशेषता Magento को बता रही है कि आपको अपने ब्लॉक के अंदर लोड करने की आवश्यकता है।

एक जोड़े अन्य ब्लॉक प्रकार तुम कोशिश कर सकते हैं:

उत्पाद सूचियों के लिए: सूची/product_list

पाठ सूचियाँ (ब्लॉक कि स्वचालित रूप से बच्चे को ब्लॉक बाहर प्रस्तुत करना) के लिए: कोर/text_list

श्रेणी ब्लाकों के लिए: सूची/category_view

बहुत कुछ है, नए खोजने का एक अच्छा तरीका एक ब्लॉक को देखना है जो आप जो करने की कोशिश कर रहे हैं उसके समान कार्य करता है, और यह पता लगाता है कि यह XML में कहां परिभाषित किया गया है।

{{block type="core/template" name="my.block.name" myvariable="5" template="myfolder/newfile.phtml"}} 
+0

"की अनुमति" के लिए यह संस्करण जब तक नाम के बिना काम किया

{{block type="catalog/product_bestseller" name="krillo.bestseller" template="catalog/product/bestseller.phtml"}} 

अपने ब्लॉक का नाम "सूची/product_bestseller" जोड़ें और स्थिति सेट: ब्लॉक

Ie आप को दिखाने के लिए चाहते हैं तो 1.9.2.3 '' '{{ब्लॉक प्रकार =" कैटलॉग/product_list "category_id =" 8 "टेम्पलेट =" कैटलॉग/उत्पाद/featured.phtml "}}' ' – lrkwz

+2

ब्लॉक अनुमति देने के लिए मत भूलना या यह नहीं दिखाना (Magento संस्करण 1.9+) सिस्टम-> अनुमति-> ब्लॉक – Mike

6

आप ब्लॉक करने के लिए चर पास करना चाहते हैं, तो आप की तरह कुछ कर सकते हैं

ऊपर जवाब ठीक से काम, लेकिन यह मेरी व्यक्तिगत है एक सीएमएस पृष्ठ की सामग्री में ब्लॉक डालने की वरीयता नहीं है क्योंकि WYSIWYG का उपयोग करके टेक्स्ट और सामग्री को संपादित करने का प्रयास करते समय ग्राहक इस महत्वपूर्ण पंक्ति को हटा सकते हैं (और है)।

आप में निम्नलिखित जोड़ सकता है लेआउट> लेआउट अद्यतन एक्सएमएल एक सीएमएस पृष्ठ के अनुभाग:

<reference name="content"> 
    <block after="-" type="your/block_type" name="block.name" template="your/block/template/file.phtml"/> 
    <action method="insert" ifconfig="your/block_type"> 
     <block>block.name</block> 
    </action> 
</reference> 

इस तरह, ग्राहकों को कम इस टैब संपादित कर सकते हैं!

उम्मीद है कि यह इस मुद्दे के साथ किसी और की मदद करेगा!

3

मैं एक विकल्प प्रदान करना चाहते हैं::

3

Magento 1.9.2.2, या समतुल्य पैच के बाद से आपको नए ब्लॉक को अनुमतियां भी प्रदान करने की आवश्यकता है।आप बैकएंड में ऐसा करते हैं: सिस्टम | अनुमतियाँ |

मेरे साइटों में से एक में
संबंधित मुद्दे