0

現在、ツールボックスを Zend 1 から Zend2 に移行しています。私は両方のテクノロジーの初心者です。

1 つの形式では、前者のツールボックスがデコレーターを介してテンプレートを読み込んで処理します。

例 :

$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 に答える