Cách tải tất cả các khối con trong bộ điều khiển


7

Tôi đang sử dụng Ajax để thêm vào giỏ hàng, vì vậy cần cập nhật thanh bên giỏ hàng.

Tôi đã thử mã này trong bộ điều khiển để kết xuất khối.

Mage::app()->getLayout()->getBlockSingleton('page/html')->setTemplate("page/html/upper.phtml")->toHtml();

nhưng nó kết xuất khối cha và không kết xuất khối con.

Và tập tin bố trí là

   <block type="core/text_list" name="upper" as="upper" template="page/html/upper.phtml">
       <block type="checkout/cart" name="top.cart" as="cart_overview">
            <action method="setCartTemplate"><value>checkout/topcart.phtml</value></action>
            <action method="setEmptyTemplate"><value>checkout/cart/cartEmpty.phtml</value></action>
            <action method="chooseTemplate"/>
            <action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>checkout/cart/sidebar/default.phtml</template></action>
            <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/cart/sidebar/default.phtml</template></action>
            <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/cart/sidebar/default.phtml</template></action>
       </block>
   </block>

Làm thế nào tôi có thể kết xuất khối con trong bộ điều khiển.

Hỗ trợ tôi.

Câu trả lời:


9

Vui lòng thử mã này: -

$layout         = Mage::app()->getLayout();
 $block_header   = $layout->createBlock('block/block')->setTemplate('template_url');

 $block_links1  = $layout->createBlock('block/block','block_name')->setTemplate('template_url');
 $block_header->setChild('block_as',$block_links1);

 $block_links2  = $layout->createBlock('block/block','block_name')->setTemplate('template_url');
 $block_header->setChild('block_as',$block_links2);

 $block_links    = $layout->createBlock('block/block','block_name')->setTemplate('template_url');
 $block_header->setChild('block_as',$block_links);

 $block_links->addItemRender('configurable','checkout/cart_item_renderer_configurable','checkout/cart/sidebar/default.phtml');
 $slide = $block_header->toHtml();

'block_as' phải là chuỗi bạn gửi tới getChildHtml cho mẫu <? = $ this-> getChildHtml ('tops1')?> nó sẽ là -> setChild ('tops1', $ block_links);
Cherven

2

Tôi đã thử đoạn mã dưới đây:

$layout         = Mage::app()->getLayout();
$block_header   = $layout->createBlock('page/html')->setTemplate('page/html/upper.phtml');
$block_links1   = $layout->createBlock('grana_checkout/sidebar','grana_checkout_topbar')->setTemplate('grana/checkout/topbar.phtml');
$block_header->setChild('grana_topbar',$block_links1);
$block_links2   = $layout->createBlock('box/box','active.grana.box')->setTemplate('grana/box.phtml');
$block_header->setChild('grana_box',$block_links2);
$block_links    = $layout->createBlock('checkout/cart','top.cart')->setTemplate('checkout/topcart.phtml');
$block_header->setChild('cart_overview',$block_links);
$block_links->addItemRender('configurable','checkout/cart_item_renderer_configurable','checkout/cart/sidebar/default.phtml');
$slide = $block_header->toHtml();

Có phải đó là những gì đã khắc phục vấn đề của bạn? Nếu vậy hãy xác định rằng đó là giải pháp.
Raphael tại Digital Pianism
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.