0

我目前正在将工具箱从 Zend 1 迁移到 Zend2。我是这两种技术的新手。

在一种形式中,前一个工具箱通过装饰器加载和处理模板。

例子 :

$this->setDecorators(array(array('ViewScript', array('viewScript' => 'forms/exemple-external.phtml'))));

我的模板:

<div class="row-fluid">
<div class="span10">
    <div class="row-fluid">
        <div class="span4">
            <div class="control-group">
                <label class="control-label" for="lastname">
                <button id="find-user" class="btn btn-mini" style="margin-right: 20px" type="button"><b>. . .</b></button>
                    Nom
                </label>
                <div class="controls">
                    <input type="text" id="lastname" name="lastname" placeholder="Nom" class="input-medium" value="<?php echo $this->lastname; ?>">
                </div>
            </div>
        </div><!--/span-->
        <div class="span4">
            <div class="control-group">
                <label class="control-label" for="firstname">Prénom</label>
                <div class="controls">
                    <input type="text" id="firstname" name="firstname" placeholder="Prénom" class="input-medium" value="<?php echo $this->firstname; ?>">
                </div>
            </div>
        </div><!--/span-->
        <div class="span4">
            <div class="control-group">
                <label class="control-label" for="active_directory_username">Nom LDAP</label>
                <div class="controls">
                    <input type="text" id="active_directory_username" name="active_directory_username" placeholder="Nom LDAP" class="input-medium" value="<?php echo $this->active_directory_username; ?>">
                </div>
            </div>
        </div><!--/span-->
    </div><!--/row-->
</div>   

如何在 Zend2 中模仿这种行为?此表单用作另一个表单的子表单。所以这里的主要目标是能够在渲染父表单的同时渲染这个模板。

你对这样做有任何线索吗?

4

1 回答 1

1

您可以选择设置部分收集。我将与您分享我的代码,我认为它会增加您的时间。在您看来:

$this->formCollection()->setElementHelper($this->formRow()->setPartial('partial/link-collection'));                   
echo $this->formCollection($addMovieForm->get('links'));

和部分/链接集合:

<?php if ($this->element instanceof \Zend\Form\Element\Button) : ?>
    <div class="control-group">
        <div class="controls">
            <?php echo $this->formElement($this->element) ?>
        </div>
    </div>
<?php else : ?>
    <div class="control-group">
        <?php echo $this->formLabel($this->element) ?>
        <div class="controls">
            <?php echo $this->formElement($this->element) ?>
            <?php echo $this->formElementErrors($this->element) ?>
        </div>

    </div>
<?php endif; ?>
于 2013-11-14T12:41:54.140 回答