2012-06-26 5 views
0

Je veux incorporer deux éléments avec balise div, je veux avoir comme çaencapsulent deux éléments dans div

<div> 
    <span id="mailRecepientName2-label"> 
     <label class="elementTitle required" for="mailRecepientName2">اسم المستفيد</label> 
    </span> 
    <span> 
     <input id="mailRecepientName2" type="text" value="" name="mailRecepientName2"> 
    </span> 
    <span id="mailRecepientNote2-label"> 
     <label class="required" for="mailRecepientNote2">البيـــــــان</label> 
    </span> 
    <span class="largeText"> 
     <input id="mailRecepientNote2" type="text" value="" name="mailRecepientNote2"> 
    </span> 
    <a class="ico_lable_remove" data-recepeintcount="2" name="deleteNewRecepient" href="javascript:void(0)"></a> 
</div> 

Je fais comme ça,

$mailRecepientName = new Zend_Form_Element_Text("mailRecepientName" . $id); 
    $mailRecepientName->setRequired(true)->setLabel('اسم المستفيد')->setDecorators(array(
      'ViewHelper', 
      'Errors', 
      array(array('data' => 'HtmlTag'), array('tag' => 'span')), 
      array('Label', array('tag' => 'span')) 
     );); 

    $mailRecepientNote = new Zend_Form_Element_Text("mailRecepientNote" . $id); 
    $mailRecepientNote->setRequired(true)->setLabel('البيـــــــان')->setDecorators(array(
      'ViewHelper', 
      'Errors', 
      array(array('data' => 'HtmlTag'), array('tag' => 'span')), 
      array('Label', array('tag' => 'span')) 
     );); 
    ); 

ces deux éléments appartient à la même groupe de fieldset. Comment puis-je les rendre ecncapsulated dans div?

Répondre

0

Vous pouvez essayer de créer vos propres éléments de formulaire pour div ouvert et div proche:

MyApp/Form/Element/Divopen.php

require_once 'Zend/Form/Element/Xthml.php'; 
class MyApp_Form_Element_Divopen extends Zend_Form_Element_Xhtml { 

public $helper = 'formDivopen'; 
} 

MyApp/Form/Element/Divclose.php

require_once 'Zend/Form/Element/Xthml.php'; 
class MyApp_Form_Element_Divopen extends Zend_Form_Element_Xhtml { 

public $helper = 'formDivopen'; 
} 

MyApp/Voir/Aide/FormDivopen.php

require_once 'Zend/View/Helper/FormElement.php'; 
class MyApp_View_Helper_FormDivopen extends Zend_View_Helper_FormElement { 
public function formDivopen($name, $value = null, $attribs) { 
$info = $this->_getInfo($name, $value, $attribs); 
extract($info); 
$xhtml = '<div' 
    . ' name="'. $this->view->escape($name) . '"' 
    . ' id="'. $this->view->escape($id) . '"' 
    . ' value="'. $this->view->escape($value) . '"' 
    . $this->_htmlAttribs($attribs) 
    . '>'; 
return $xhtml 
} 
} 

Et enfin: MyApp/Voir/Aide/FormDivclose.php

require_once 'Zend/View/Helper/FormElement.php'; 
class MyApp_View_Helper_FormDivclose extends Zend_View_Helper_FormElement { 
public function formDivclose($name, $value = null, $attribs) { 

$xhtml = '</div>'; 
return $xhtml 
} 
} 

Ensuite, dans votre formulaire:

$divOpen = $this->createElement('divopen', 'divname'); 
$this->addElement($divOpen); 

$mailRecepientName = new Zend_Form_Element_Text("mailRecepientName" . $id); 
$mailRecepientName->setRequired(true)->setLabel('اسم المستفيد')->setDecorators(array(
     'ViewHelper', 
     'Errors', 
     array(array('data' => 'HtmlTag'), array('tag' => 'span')), 
     array('Label', array('tag' => 'span')) 
    );); 

$mailRecepientNote = new Zend_Form_Element_Text("mailRecepientNote" . $id); 
$mailRecepientNote->setRequired(true)->setLabel('البيـــــــان')->setDecorators(array(
     'ViewHelper', 
     'Errors', 
     array(array('data' => 'HtmlTag'), array('tag' => 'span')), 
     array('Label', array('tag' => 'span')) 
    );); 
); 

$divClose = $this->createElement('divclose', 'closingdiv'); 
$this->addElement($divClose); 

Je ne sais pas si c'est la meilleure façon, mais il pourrait faire l'affaire ..

Questions connexes