0

ラベルなしで入力を追加したい、このフローのようなHTMLコードが欲しい

<label>sender</label>
<input type="text" name="senderNo"/>
<input type="text" name="senderName"/>

飾り付けをします</p>

  $mailSenderNo = new Zend_Form_Element_Text('mailSenderNo');
  $mailSenderNo->setLabel("الجهة المرسلة")
            ->setDecorators(
                    $this->setInlineDecorator("smallNoText")
    );
  $mailSenderName = new Zend_Form_Element_Text('mailSenderName');
  $mailSenderName->setDecorators(
                    $this->setInlineDecorator("largeText")
  );

これがデコレータです

function setInlineDecorator($className = null) {

    $inlineDecorator = null;
    if ($className == null) {
        $inlineDecorator = array(
            'ViewHelper',
            'Errors',
            array(array('data' => 'HtmlTag'), array('tag' => 'span')),
            array('Label', array('tag' => 'span', 'class' => 'elementTitle'))
        );
    } else {

        $inlineDecorator = array(
            'ViewHelper',
            'Errors',
            array(array('data' => 'HtmlTag'), array('tag' => 'span','class' => $className)),
            array('Label', array('tag' => 'span' ))
        );
    }
    return $inlineDecorator;
}

この結果

<span id="mailSenderNo-label">
  <label class="optional" for="mailSenderNo">الجهة المرسلة</label>
</span>
<span class="smallNoText">
    <input id="mailSenderNo" type="text" value="" name="mailSenderNo">
</span>
<span id="mailSenderName-label">&nbsp;</span>  ?????  I don't what to have this span
<span class="largeText">
   <input id="mailSenderName" type="text" value="" name="mailSenderName">
</span>

このスパン

<span id="mailSenderName-label">&nbsp;</span>  

mailSenderName入力のラベル用ですが、このスパンを削除するにはどうすればよいですか????

4

1 に答える 1

3

この行を追加します:-

$mailSenderName->removeDecorator('Label');

これにより、その要素からのみラベルが削除されます。

于 2012-06-21T09:12:23.787 に答える