从Magento的控制器内调用块功能

时间:2013-05-06 11:19:16

标签: magento

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

我有波纹管控制器:

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

我想调用此CartController中的波纹管块功能

法/结帐/块/车/ Shipping.php

我该怎么做?

由于

4 个答案:

答案 0 :(得分:8)

您可以使用:

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

获得阻止。

答案 1 :(得分:6)

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

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

OR

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

答案 2 :(得分:1)

将块加载到控制器中

$block = $this->getLayout()->createBlock('Mage_Core_Block_Template','checkout')->setTemplate('checkout/cart1.phtml');
$this->getLayout()->getBlock('content')->append($block);

答案 3 :(得分:-1)

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

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

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

echo $this->getTest();