Zend framework ZendFrameworkNoob:在表单顶部添加文本

Zend framework ZendFrameworkNoob:在表单顶部添加文本,zend-framework,Zend Framework,我刚刚(和今天一样)开始做一些采埃孚的东西 我有一个表单,需要在表单顶部显示一些div中的文本,但我不知道如何包含它 表格的结构如下: class MyForm extends \app\forms\FormType { public function init() { // gets all the form elements of the parent parent::init(); // A few additional form

我刚刚(和今天一样)开始做一些采埃孚的东西

我有一个表单,需要在表单顶部显示一些div中的文本,但我不知道如何包含它

表格的结构如下:

class MyForm extends \app\forms\FormType {
    public function init() {
        // gets all the form elements of the parent
        parent::init();

        // A few additional form elements for MyForm created here

    }
}

任何帮助都将不胜感激

在实例化表单对象的控制器中,只需将其与视图对象一起设置,如下所示:

public function actionNameAction()
{
    // ...
    if (/* some condition to check form page */) {
        $this->view->divText = 'your text';
    }
}
然后将div放入action-name.phtml脚本中:

views/scripts/controller/action-name.phtml
内容:

<?php if (!empty($this->divText)): ?>
    <div><?php echo $this->divText; ?></div>
<?php endif; ?>
然后在控制器中实例化表单对象时执行以下操作:

$form = new MyForm(null, $this->view);
让我们再次回到表单类并修改init()方法:


使用这种方式,您不必在控制器中放入任何条件if语句来检查任何内容。您已经在检查视图中的
$this->divText
是否为空,因此通过将视图对象传递给表单类,您可以确保只有在使用表单时才会设置文本。

问题是,多个表单使用动作和phtml来呈现,但我只需要其中一个表单上的文本。如果我这样做的话,文本会显示在所有的表格上。好的,明白了。我做了一些编辑,应该能适应你的问题。
$form = new MyForm(null, $this->view);
public function init()
{
    // ...
    $this->view->divText = 'Text set from within ' . __CLASS__;
}