gọi khối tĩnh trong view.phtml ngay lập tức của tệp phtml


14

chúng tôi đang hiển thị trường văn bản trong trang xem để kiểm tra tính khả dụng của COD.

nhập mô tả hình ảnh ở đây

xem.

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

trong view.phtmlchúng tôi đang gọi tập tin dưới đây. nhưng tôi muốn gọi định danh khối tĩnh [mã định danh - kiểm tra] thay vì tệp bên dưới.

mẫu / 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>

mã khối tĩnh:

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

Câu trả lời:


44

Bạn có thể sử dụng mã dưới đây:

trong tệp .phtml:

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

mẫu vật :

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

trong trang khối / cms tĩnh:

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


Nó không hiển thị trường văn bản bây giờ. tôi đã cập nhật mã khối tĩnh trong câu hỏi.
Em bé ở Magento

bạn đã làm mới bộ nhớ cache của bạn?
Qaisar Satti

có xóa thư mục bộ nhớ cache, cũng xóa bộ nhớ cache của trình duyệt.
Em bé ở Magento

1
{{block type ="core/template" template="checkdelivery/checkdelivery.phtml" }}loại bỏ không gian và kiểm tra system->permission ->blocknó được liệt kê (lõi / mẫu)?
Qaisar Satti

1
createdBlock ('Magento \ Cms \ Block \ Block') thay vì -> createBlock ('cms / block') đã viết cho tôi :) Cảm ơn vì mẹo này!
Rustyjim

3

Nếu bạn đã tạo khối CMS có tên 'block_identifier' từ bảng quản trị. Sau đó sẽ là mã để gọi họ trong .phtml

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

Xóa bộ nhớ cache và tải lại trình duyệt của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.