ZendFramework2使用自定义HTML添加表单


Zend Framework 2 use custom HTML add form

我有这个html表单:

<form role="form" action="<?php $this->url('insediamento', array('action' => 'add')) ?>" method="POST">
        <div class="form-group col-lg-5">
            <label for="indirizzoSedeIns">Indirizzo</label>
            <input type="text" class="form-control" id="indirizzoSedeIns" placeholder="inserisci Indirizzo">
        </div>
        <div class="form-group col-lg-1">
            <label for="civico">Civico</label>
            <input type="text" class="form-control" id="civico" placeholder="n°">
        </div>
        <div class="form-group col-lg-3">
            <label for="istatProvincia">Cod. Istat Provincia</label>
            <input type="text" class="form-control" id="istatProvincia" placeholder="Istat Provincia">
        </div>
        <div class="form-group col-lg-3">
            <label for="istatComune">Cod. Istat Comune</label>
            <input type="text" class="form-control" id="istatComune" placeholder="Istat Comune">
        </div>
        <div class="form-group col-lg-5">
            <label for="recapitoSede">Recapito Sede</label>
            <input type="text" class="form-control" id="recapitoSede" placeholder="Recapito Sede">
        </div>
        <div class="form-group col-lg-3">
            <label for="istatComune">C.A.P</label>
            <input type="text" class="form-control" id="istatComune" placeholder="Istat Comune">
        </div>
        <div class="form-group col-lg-4">
            <label for="classificazione">Classificazione Insediamento:</label>
            <select class="form-control" id="classificazione">
                <?php foreach ($insediamenti as $insediamento) : ?>
                    <option><?php echo $this->escapeHtml($insediamento->description); ?></option>
                <?php endforeach; ?>
            </select>
        </div>
        <div class="form-group col-lg-6">
            <label for="longitude">Longitudine</label>
            <input type="text" class="form-control" id="longitude" placeholder="Longitudine">
        </div>
        <div class="form-group col-lg-6">
            <label for="latitude">Latitudine</label>
            <input type="text" class="form-control" id="latitude" placeholder="Latitudine">
        </div>
        <div class="checkbox col-lg-12">
            <button type="submit" class="btn btn-default">Submit</button>
        </div>
    </form>

如何将它与Zend Framework 2一起使用?我需要保存这些信息,但我不能用像$this->add这样的Zend类来构建这个表单,我必须用HTML代码来创建它们。

您可以使用以下格式创建分部:

在视图目录下创建一个部分文件夹,并在其中创建一个包含表单html内容的phtml文件。

然后在module.config.php的"view_manager"部分创建一个类似于"layout/layout"的条目,但在这种情况下,名称可能是"myForm":

'view_manager' => array(
    'template_map' => array(
        'myForm'             => __DIR__ . '/../view/partial/myForm.phtml',
    ),
),

要在任何视图中使用它,您可以使用partial()view Helper:如下调用它

<div><?php echo $this->partial('myForm', array('action' => $this->url('doAdd'))); ?></div>

在分部视图帮助程序的第二个参数中,可以将参数传递给分部。在分部中,您可以使用以下参数:

<div>
  <form id="form1" action="<?php echo $action; ?>" method="post">
      <input type="number" name="op1"><br>
      <input type="number" name="op2"><br>
      <input type="submit" value="ok">
  </form>

希望这能有所帮助,

Ismael Trascastro