2012-05-01 41 views
0

我有一個表單,我應該在每個頁面中調用,我使用的是Zend框架1.11。我的看法助手是這樣在我的應用程序的每個頁面上調用zend表單

class Zend_View_Helper_RequestForm 
{ 
    function requestForm() 
    { 
     $requestForm = new Application_Form_Request(); 
     return $this->view->requestForm; 

    } 
} 

我的application.ini有這個

resources.view.helperPath = APPLICATION_PATH "/views/helpers" 
resources.view[] = 

在我的佈局,我有

echo $this->requestForm(); 

現在我得到這個錯誤

Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'RequestForm' was not found in the registry; 

請幫我,我該怎麼稱呼米在每一頁?由於

+0

'/視圖/ helpers'這個類在您的視圖的腳本文件application/views/helpers/RequestForm.php

  • 呼叫中是定義的默認。爲什麼使用它?你的錯誤是關於你如何使用你的幫手,而不是它在哪裏。你的錯誤是一個插件錯誤。我猜你試圖在你的引導或類似的東西中使用這個助手。發佈該代碼。 – RockyFord

  • 回答

    0

    這樣加載問題通常是在與appnamespace和文件位置獲取類命名同步鉸鏈:

    1. 我會與appnamespace(可能在你application/configs/application.ini定義爲Application)命名您的幫助,所以班級名稱是Application_View_Helper_RequestForm。 [最好儘量不要使用Zend_命名空間]並且@ b.b3rn4rd指出,擴展Zend_View_Helper_Abstract是個好主意。

    2. 場所使用$this->requestForm()

    +0

    問題是調用佈局時,而不是視圖 – ktm

    +1

    佈局是視圖腳本的示例,因此調用約定相同。從根本上講,問題在於當您調用'$ this-> requestForm()'時,視圖對象如何計算出您的意思。資源自動加載器和視圖幫助器路徑/前綴映射告訴sytemm如何將調用名稱解析爲實例化的實際類和要調用的方法。 –

    相關問題