2

如何从 Magento 中的控制器调用块功能。

我有波纹管控制器:

法师/结帐/控制器/CartController.php

我想在这个 CartController 中调用波纹管块函数

Mage/checkout/Block/Cart/Shipping.php

我怎样才能做到这一点?

谢谢

4

4 回答 4

8

您可以使用:

$block = Mage::app()->getLayout()->createBlock('checkout/cart_shipping');

得到块。

于 2013-05-06T19:41:01.140 回答
6

嗨,您可以通过两种方式在控制器中调用块,请检查以下内容:

 $myblock = $this->getLayout()->getBlockSingleton('checkout/cart_shipping')->getYourfunctionname(); 

或者

$myblock = $this->getLayout()->createBlock('checkout/cart_shipping')->getYourfunctionname();
于 2014-11-01T05:54:33.103 回答
1

将块加载到控制器中

$block = $this->getLayout()->createBlock('Mage_Core_Block_Template','checkout')->setTemplate('checkout/cart1.phtml');
$this->getLayout()->getBlock('content')->append($block);
于 2017-04-12T10:16:52.483 回答
-1

像这样在 Mage/checkout/Block/Cart/Shipping.php 中创建简单的 getTest() 函数。

public function getTest()
{
     $data = 'test';
     return $data;
}

并像这样在 Mage/checkout/controllers/CartController.php 文件中调用它。

echo $this->getTest();
于 2013-05-06T12:07:34.867 回答