2010-06-22 23 views
11

Tôi đang sử dụng Magento Enterprise Edition. Nó bao gồm một widget cho các biểu ngữ, mà tôi muốn sử dụng bên trong mẫu của tôi, chứ không phải từ bên trong khối nội dung chạy CMS. Tôi đã tạo thành công đầu ra từ bên trong khối nội dung:Magento: Làm cách nào để đặt tiện ích vào bố cục xml?

{{widget type="enterprise_banner/widget_banner" display_mode="fixed" rotate="series" banner_ids="4" template="banner/widget/block.phtml" unique_id="744a56c9a042cc9fa166163c12d869d9"}} 

Đủ đơn giản. Vì vậy, bên trong bố cục xml của tôi, tôi đã thử cách này:

<block type="enterprise_banner/widget_banner" name="hero_banners" as="hero_banners" display_mode="fixed" rotate="series" banner_ids="4" template="banner/widget/block.phtml" unique_id="744a56c9a042cc9fa166163c12d869d9" /> 

Các thông số tương tự; Tôi chỉ cần thêm tên và như. Và sau đó, bên trong mẫu của tôi ...

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

Nhưng tôi không có đầu ra. Hồ sơ lưu ý rằng khối hero_banners được tải, nhưng tệp mẫu của nó (banner/widget/block.phtml) không bao giờ chạy.

Có ai biết tôi đang làm gì sai không?

-P

Trả lời

19

Tắt, không chèn bất kỳ dữ liệu có ý nghĩa nào vì nó không nhận được thông số của nó. các thông số cần thiết phi tiêu chuẩn được thiết lập thông qua thẻ hành động:

<block type="enterprise_banner/widget_banner" name="hero_banners" as="hero_banners" template="banner/widget/hero.phtml"> 
    <action method="setDisplayMode"><value>fixed</value></action> 
    <action method="setBannerIds"><value>4</value></action> 
</block> 
+1

Điều này dường như chỉ hoạt động (ít nhất trong 1.6.2) nếu khối tiện ích con là một khối lõi/text_list, đặt một tiện ích như thế này thẳng vào khối gốc không xuất hiện. – benz001

2

Kể từ khi chủ đề đã được giải quyết, tôi có một chủ đề ra giải pháp

này có thể được thiết lập như là một khối bên trong một file .phtml nếu được yêu cầu.

<?php echo $this->getLayout()->createBlock('enterprise_banner/widget_banner')->setBannerIds('4')->setDisplayMode('fixed')->setTemplate('banner/widget/block.phtml')->toHtml(); ?> 
Các vấn đề liên quan