0

カスタムフォーム要素を使用してスタンドアロンのZendフォームを作成しようとしています。この要素を作成するには、カスタムビューヘルパーを使用する必要があります。application.iniファイルなしでカスタムビューヘルパーパスを登録するにはどうすればよいですか?

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は、新しいパスでカスタムヘルパーを探すことを知っていますか?ドキュメントによると、私がしなければならないのは、ビューヘルパーのクラス名を使用してpublic $helpervarを作成することだけです。しかし、それがカスタムビューヘルパーで機能するかどうかはわかりません。

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';
    }
}

よろしくお願いします。

4

1 に答える 1

0

試す:

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

echo $form->render($view);
于 2012-07-31T21:52:41.323 に答える