Zend Custom ViewScript for Form不呈现文件元素

时间:2012-06-25 03:23:23

标签: zend-framework zend-form zend-form-element

我为zend表单创建了一个自定义视图。在表单中,有一个文件元素。当我运行代码echo $this->element->elementname->renderViewHelper()时,它在除文件元素之外的所有元素上都能正常工作。当我在自定义视图中的文件元素上运行以下代码时,出现以下错误:Uncaught exception 'Zend_Form_Element_Exception' with message 'Decorator by name ViewHelper does not exist'

<?php if($this->element->avatarimage->hasErrors()):?>
        <div class="control-group error">
    <?php else: ?>
        <div class="control-group">
    <?php endif;?>
        <label for="avatarimage" class="control-label">Avatar Image</label>
        <div class="controls">
            <?php echo $this->element->avatarimage->renderViewHelper();?>
            <?php if($this->element->avatarimage->hasErrors()):
                    $messages = $this->element->avatarimage->getMessages();
                    $messages = array_values($messages);
                    $message  = $messages[0];
                    echo '<span class="help-inline">'.$message.'</span>';
                endif;
            ?>              
        </div>
    </div>

如何将我的文件元素合并到自定义表单视图中?

2 个答案:

答案 0 :(得分:3)

这绝对有用。

<? echo $this->element->avatarimage->renderFile(); ?>

答案 1 :(得分:0)

试试这样:

<?php echo $this->element->avatarimage;?>