2010-11-26 36 views
1

我的動作助手只是回聲「OK」之稱Zend的形式不能使用動作助手

class Helper_MyActionHelper extends Zend_Controller_Action_Helper_Abstract { 
    public function direct(){ 
     echo "ok"; 
    } 
} 

時,當我在我的控制器測試它,它工作正常,回聲正常。

$this->_helper->myActionHelper(); 

但是,當我在表單中做同樣的事情時,它根本不起作用。我試過

$this->_helper->myActionHelper(); 
$this->_helper->myActionHelper; 

所以我可以在窗體中使用動作助手..有沒有辦法繞過它?

回答

2

您可以隨時將myActionHelper對象作爲參數傳遞給窗體。

3

動作助手的更準確的名字是動作控制器助手。他們打算從行動控制器方法中調用。您不能從框中將其從其他Zend對象中調用。

3

動作助手並非旨在幫助您的應用程序的非動作元素。

您的$form沒有註冊操作幫助程序($this->_helper)的概念,甚至沒有配置幫助程序的上下文。

你可以在這裏閱讀,學會其中的插件Zend Framework的生命週期內工作: http://www.eschrade.com/page/zend-framework-request-lifecycle-4b9a4288

如果你修改了你的問題,讓我們知道你想實現什麼,我們也許能夠提出替代方案方法。