0

こんにちは私はzendで次のフォームを持っています

<?php
/**
 * Admin/modules/admin/forms/TransportRoute.php
 * @uses TransportRoute Admission Form
 */

class Admin_Form_TransportRoute extends Zend_Form
{
    public function init()
    {
        $this->setMethod('post');

        $stopageDetailsForm = new Zend_Form_SubForm();
        $stopageDetailsForm->setElementsBelongTo('transport_route_stopage');

        $sd_stopage = $this->CreateElement('text','stopage')
                                ->setAttribs(array('placeholder'=>'Stopage Name', 'mendatory'=>'true'))
                                ->setRequired(true)
                                ->addFilter(new Zend_Filter_StringTrim())
                                ->setDecorators(array( array('ViewHelper') ))
                                ->setIsArray(true)
                                ->addValidators(array(
                                        array('NotEmpty', true, array('messages' => 'Please enter Stopage Name')),
                                        array('stringLength',true,array(1, 6, 'messages'=> 'Stopage Name must be 2 to 40 characters long.'))
        ));

        $sd_stopage_fee = $this->CreateElement('text','stopage_fee')
                                ->setAttribs(array('placeholder'=>'Route Fee', 'mendatory'=>'true'))
                                ->setRequired(true)
                                ->addFilter(new Zend_Filter_StringTrim())
                                ->setDecorators(array( array('ViewHelper') ))
                                ->setIsArray(true)
                                ->addValidators(array(
                                        array('NotEmpty', true, array('messages' => 'Please enter Stopage Fee')),
        ));
        $stopageDetailsForm->addElements ( array (
                $sd_stopage,
                $sd_stopage_fee,
        ) );
        $this->addSubForm($stopageDetailsForm, 'transport_route_stopage');

               //all sub form end here
        $id = $this->CreateElement('hidden','id')
                            ->setDecorators(array( array('ViewHelper') ));
        $this->addElement($id);
        $this->setDecorators(
                array(
                        'PrepareElements',
                        array('viewScript'))
        );
    }
}

このフォームを以下のようにレンダリングすると、これは完全に正常に機能します。

<div class="row-fluid stopage_block">
            <div class="span5">
                <?php echo $stopageDetail->stopage;?>
            </div>
            <div class="span4">
                <?php echo $stopageDetail->stopage_fee;?>
            </div>
</div>

しかし、レコードを追加するときに、クラス「stopage_block」の div のクローンを作成し、データベースに保存します。今私の懸念は、div のクローンを介して挿入された foreach ループを使用してすべての値を設定する方法です。

私は次の配列を持っています

array('stopage' => 'India','stopage_fee' => 5000);
array('stopage' => 'US','stopage_fee' => 50000);
array('stopage' => 'Nepal','stopage_fee' => 2000);

ループなどを使用して、これらの値を現在のフォームに戻す方法。

ありがとう。

4

1 に答える 1