用Zend 2表格编辑相关内容



我遇到了一个问题,我无法在编辑表单上保存相关内容。添加似乎可以正常工作,但两者都使用相同的Fieldset并查看文件

看来我也可以从集合中删除元素,但添加它们似乎失败(帖子数据不包含数据)

我的视图文件:

edit.phtml

页面字段集:

pagefieldset.php

块字段集:

blockfieldset.php

来自控制器的添加/编辑:

Controller.php

奇怪的话,如果我将我的edit.phtml文件更改为将整个表单作为集合输出,则将新条目添加到集合中

<?php
    $title = 'Edit Page';
    $this->headTitle($title);
?>
<h2><?php echo $this->escapeHtml($title); ?></h2>
<br>
<?php
    $page = $this->form->get('page');
    $form->setAttribute('action', $this->url(
        'admin/page',
        array(
            'action' => 'edit',
            'id'     => $this->id,
        )
    ));
    $this->form->prepare();
    // echo $this->formElement($this->form->get('csrf'));
    $this->form($this->form);
    echo $this->form()->openTag($this->form);
    echo $this->formCollection($this->form);
    echo $this->form()->closeTag();
?>

我的edit.phtml中的标记导致表格在添加集合之前关闭,这解释了为什么字段在帖子数据中不存在。

需要更加小心我放置<?php echo $this->form()->openTag($this->form); ?>

简化了问题的示例

<div>
    <?php echo $this->form()->openTag($this->form); ?>
    <?php echo $this->formCollection($page->get('blocks')); ?>
</div>
<?php echo $this->form()->closeTag(); ?>

这导致浏览器在DIV元素中早期添加一个近距离标签

正确的输出将为

<?php echo $this->form()->openTag($this->form); ?>
<div>   
    <?php echo $this->formCollection($page->get('blocks')); ?>
</div>
<?php echo $this->form()->closeTag(); ?>

相关内容

  • 没有找到相关文章

最新更新