/** * Adds extra rows to the form * * @access public * @param mixed $data. (default: null) * @return void */ public function addRows($start, $end) { for ($i = $start; $i < $end; $i++) { $rows = new Zend_Form_SubForm(); $rows->setIsArray(true); $rows->setOrder($i); foreach ($this->_childlist as $col => $name) { switch ($col) { case "item_id": $rows->addElement("select", $col, array("attribs" => array("class" => "form-control products"), "filters" => array("StringTrim", "StripTags"), "allowEmpty" => true, "required" => false, "registerInArrayValidator" => false, "multiOptions" => $this->_childlist[$col], "validators" => array(), "belongsTo" => "rows{$i}")); break; case "number": $rows->addElement("select", $col, array("attribs" => array("class" => "form-control batches"), "filters" => array("StringTrim", "StripTags"), "allowEmpty" => true, "required" => false, "registerInArrayValidator" => false, "multiOptions" => $this->_childlist[$col], "validators" => array(), "belongsTo" => "rows{$i}")); break; default: $rows->addElement("select", $col, array("attribs" => array("class" => "form-control"), "filters" => array("StringTrim", "StripTags"), "allowEmpty" => true, "required" => false, "registerInArrayValidator" => false, "multiOptions" => $this->_childlist[$col], "validators" => array(), "belongsTo" => "rows{$i}")); break; } } $rows->addElement("text", "ava_qty", array("attribs" => array("class" => "form-control", "readonly" => "readonly"), "allowEmpty" => false, "filters" => array("StringTrim", "StripTags"), "validators" => array(), "belongsTo" => "rows{$i}")); $rows->addElement("text", "expiry_date", array("attribs" => array("class" => "form-control", "readonly" => "readonly"), "allowEmpty" => false, "filters" => array("StringTrim", "StripTags"), "validators" => array(), "belongsTo" => "rows{$i}")); $rows->addElement("text", "quantity", array("attribs" => array("class" => "form-control"), "allowEmpty" => false, "filters" => array("StringTrim", "StripTags"), "validators" => array(), "belongsTo" => "rows{$i}")); foreach ($rows->getElements() as $element) { $element->removeDecorator("Label"); $element->removeDecorator("HtmlTag"); } $this->addSubForm($rows, "rows{$i}"); } }
/** * * @param Zend_Form_SubForm $form * @return string */ protected function getSubFormMarkup(Zend_Form_SubForm $form) { $content = '<h3 class="accordion-header"><a href="#">' . $form->getLegend() . '</a></h3>' . '<div id="' . $form->getId() . '" class="accordion-content"><ul><li>' . '<table cellspacing="0" cellpadding="0" border="0" align="left"><tbody>'; $output = ''; $elements = $form->getElements(); if (is_array($elements)) { foreach ($elements as $element) { $element->setView($form->getView()); $output = $this->getElementMarkup($element, $output); } } return $content . $output . '</tbody></table></li></ul></div>'; }
protected function getSubFormMarkup(Zend_Form_SubForm $form) { $content = '<div id="' . $form->getId() . '" class="tab">' . '<h2>' . $form->getLegend() . '</h2>' . '<table cellspacing="0" cellpadding="0" border="0" align="left"><tbody>'; $this->tabContent[] = array('title' => $form->getLegend(), 'desc' => $form->getDescription()); $output = ''; $elements = $form->getElements(); if (is_array($elements)) { foreach ($elements as $element) { $element->setView($form->getView()); $output = $this->getElementMarkup($element, $output); } } return $content . $output . '</tbody></table></div>'; }
public function getHashElement() { $elements = parent::getElements(); foreach ($elements as $key => $element) { if ($element instanceof Zend_Form_Element_Hash) { return $key; } } return null; }
/** * Adds decorators to a subform. * * @param Zend_Form_SubForm $subForm The subform */ protected function _setSubFormDecorators($subForm) { // Get rid of the fieldset tag that wraps subforms by default. $subForm->setDecorators(array('FormElements')); // Each subform is a row in the table. foreach ($subForm->getElements() as $el) { $el->setDecorators(array(array('decorator' => 'ViewHelper'), array('decorator' => 'HtmlTag', 'options' => array('tag' => 'td')))); } }