2013-05-06 3 views
2

Как я могу вызвать функцию блока из контроллера в Magento.Функция блокировки вызова из контроллера в Magento

У меня есть сильфона контроллер:

Mage/Checkout/контроллеры/CartController.php

Я хочу, чтобы вызвать функцию сильфона блока в этом CartController

Mage/фотографии/Block/Корзина/Shipping.php

Как я могу это сделать?

Благодаря

ответ

-2

Создать простую функцию getTest() в Mage/проверки/Block/Корзина/Shipping.php, как это.

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

И назовите его в Mage/checkout/controller/файле CartController.php следующим образом.

echo $this->getTest(); 
+1

NOP..It дает мне фетальная ошибка – tinkesh

9

Вы можете использовать:

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

, чтобы получить блок.

5

Привет вы можете вызвать блок в контроллере двумя способами, проверьте ниже:

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

ИЛИ

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

Загрузите Ваш блок в контроллере

$block = $this->getLayout()->createBlock('Mage_Core_Block_Template','checkout')->setTemplate('checkout/cart1.phtml'); 
$this->getLayout()->getBlock('content')->append($block); 
Смежные вопросы