2012-07-31 51 views
0

我想使用自定義窗體元素獨立Zend窗體。我需要使用自定義視圖助手來創建這個元素。如何在沒有application.ini文件的情況下注冊自定義視圖助手路徑?獨立Zend窗體與自定義元素

set_include_path(
implode(PATH_SEPARATOR, array(
    get_include_path(), 
    PATH_TO_ZF_LIBRARY 
))); 

require_once 'Zend/Loader/Autoloader.php'; 
$autoloader = Zend_Loader_Autoloader::getInstance(); 

$autoloader->registerNamespace('My'); 

$form = new Zend_Form; 

... create and add zend form elements here 

//display form 
echo $form->render(new Zend_View()); 

另外,定製的Zend_Form_Element會知道在新路徑中尋找自定義助手嗎?根據文檔,我所要做的就是使用視圖助手的類名創建公共$ helper var。但我無法弄清楚這是否適用於自定義視圖助手。

class My_Form_Element_Ssn extends Zend_Form_Element_Xhtml 
{ 
    public $helper = 'ssnElement'; 

    public function setValue() 
    { 

    } 

    public function getValue() 
    { 
     return '12345'; 
    } 
} 

class My_View_Helper_SsnElement 
extends Zend_View_Helper_FormElement 
{ 

    public function ssnElement($name, $value = null, $attribs = null) 
    { 
     return 'SSN'; 
    } 
} 

我事先感謝您的幫助。

回答

0

嘗試:

$view = new Zend_View(); 
$view->addHelperPath('/path/to/My/View/Helper', 'My_View_Helper'); 

echo $form->render($view); 
+0

我剛纔接受了你的編輯。 – drew010 2012-07-31 22:56:55