2012-05-18 39 views
8

tôi cần hiển thị thêm một số liên kết ở chân trang. tôi tạo ra các liên kết trong quản trị Magento như là các khối tĩnh (id = sample_links).Làm thế nào để gọi khối Magento trong mẫu phtml?

và sau đó tôi thêm vào sau tập tin mã page.xml

<reference name="foot_lnk"> 
<block type="cms/block" name="sample_block" before="-"> 
     <action method="setBlockId"><block_id>sample_links</block_id></action> 
    </block> 
</reference> 

tôi gọi này trong footer.phtml như,

<?php echo $this->getChildHtml('foot_lnk') ?> 

nhưng nó không hiển thị nội dung CMS khối tĩnh. vấn đề là gì ?.

Trả lời

12

Các tham chiếu là khối trước đây được xác định mà bạn muốn block của bạn được bên trong, ví dụ:

<reference name="footer"> 
    <block type="cms/block" name="sample_links"> 
    <action method="setBlockId"><block_id>sample_links</block_id></action> 
    </block> 
</reference> 

Sau đó

<?php echo $this->getChildHtml('sample_links') ?> 
+0

cảm ơn của nó. tôi đã có các liên kết chân trang mặc định trong thẻ . i thêm mã khối sample_links với trong đó. –

14
$this->getLayout()->createBlock('cms/block')->setBlockId('my_static_block_name')->toHtml() 
+0

vâng tôi đã sử dụng ở trên thiết bị đang hoạt động. nhưng tôi cần phải hiển thị bằng cách sử dụng XML như trên. –

3

Nếu bạn không muốn làm phiền với XML , giống như câu trả lời của swapnesh, tôi chỉ làm cho nó rõ ràng hơn cho các noobs php ra khỏi đó (như tôi)

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

your_identifier là mã bạn quyết định sử dụng khi tạo khối của bạn trong CMS> Blocks> Create New Block, dòng thứ hai gọi là "Identifier"

+0

Vâng, bạn nên đã chỉnh sửa câu trả lời của mình để thêm các biện pháp, sau đó thay vì đăng một câu trả lời gần như giống hệt nhau. – Lysarion

7

Bạn có thể gọi một khối statick như:

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

Và gọi một khối như:

<?php echo $this->getLayout()->createBlock('sidebar/left')->setTemplate('bannerslider/left.phtml')->tohtml(); ?> 

Ghé thăm magevn.com để xem thêm chúng tôi sử dụng khối magento.

+1

câu trả lời hoàn chỉnh hơn, cảm ơn bạn đã thêm thông tin, giúp tìm kiếm google đầy đủ hơn :) –

0

thay đổi tên tài liệu tham khảo của bạn để chân

như

<reference name="footer"> 

sau đó nó sẽ làm việc.

Các vấn đề liên quan