phtml फ़ाइल के view.phtml इंस्टेंट में स्थिर ब्लॉक कॉल करें


14

हम COD उपलब्धता की जांच करने के लिए दृश्य पृष्ठ में पाठ फ़ील्ड प्रदर्शित कर रहे हैं।

यहाँ छवि विवरण दर्ज करें

view.phtml

echo $this->getLayout()->createBlock('core/template')->setTemplate('checkdelivery/checkdelivery.phtml')->toHtml();

में view.phtmlहम फ़ाइल नीचे बुला रहे हैं। लेकिन मैं नीचे फ़ाइल के बजाय स्थिर ब्लॉक पहचानकर्ता [पहचानकर्ता कोड - जांच] को कॉल करना चाहता हूं

टेम्पलेट / checkdelivery / checkdelivery.phtml

<div class="block block-list block-check-delivery">
    <div class="block-title">
        <?php $blockLabel = Mage::getStoreConfig('checkdelivery/general/block_title'); ?>
        <strong><span><?php echo $this->__($blockLabel) ?></span></strong>
    </div>
    <div class="block-content" >        
        <br>
            <input name="zipcode" size="17" type="text" id="zipcode" value="<?php echo Mage::getModel('core/cookie')->get('zip'); ?>" maxlength="10" class="input-text" placeholder="<?php echo $this->__('Enter ZIP Code'); ?>"/>
            <button type="button" name="zip-check" title="Check" class="button" id="zip-check" ><span><?php echo $this->__('Check'); ?></span></button>
            <div id="delivery-message"></div>
            <?php $defaultHtml = Mage::getStoreConfig('checkdelivery/general/default_html'); ?>
            <div id="delivery-html"><?php if(Mage::getModel('core/cookie')->get('message')){
    echo Mage::getModel('core/cookie')->get('message');
}
else{
    $defaultHtml; } ?></div>

        <br>        
    </div>

</div>

<script>
    Event.observe('zip-check', 'click', function(event){
        new Ajax.Request("<?php echo $this->getUrl('checkdelivery/index/index') ?>", {
            method: "get",
            parameters: {zipcode : $('zipcode').value },
            onSuccess: function(transport) {
                 var json = transport.responseText.evalJSON();
                 $('delivery-message').update(json.message);                 
                 $('delivery-message').setStyle({ color: json.color});
                 $('delivery-html').update(json.html);  
            }
        });
    });
</script>

स्थिर ब्लॉक कोड:

<p>{{block type ="core/template" template = "checkdelivery/checkdelivery.phtml"}}</p>

जवाबों:


44

आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

.phtml फ़ाइल में:

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

नमूना:

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

स्थिर ब्लॉक / सेमी पृष्ठ में:

{{block type="core/template" template="checkdelivery/checkdelivery.phtml"}}


अब टेक्स्टफील्ड प्रदर्शित नहीं कर रहा है। मैंने प्रश्न में स्टेटिक ब्लॉक कोड अपडेट किया।
में बेबी

क्या आपने कैश को ताज़ा किया?
क़ैसर सत्ती

हां हटाए गए कैश फ़ोल्डर, ब्राउज़र कैश को भी हटा दिया।
में बेबी

1
{{block type ="core/template" template="checkdelivery/checkdelivery.phtml" }}स्थान हटाएं और जांचें कि system->permission ->blockयह सूचीबद्ध है (कोर / टेम्पलेट)?
क़ैसर सत्ती

1
createBlock ('Magento \ Cms \ Block \ Block') के बजाय -> createBlock ('cms / block') मेरे लिए wordked :) इस टिप के लिए धन्यवाद!
राबर्टजिम

3

यदि आपने व्यवस्थापक पैनल से 'block_identifier' नाम का CMS ब्लॉक बनाया है। इसके बाद उन्हें .phtml में कॉल करने के लिए कोड होगा

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

कैश साफ़ करें और अपने ब्राउज़र को पुनः लोड करें।

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