/** * Overrule this function for any activities you want to take place * before the actual form is displayed. * * This means the form has been validated, step buttons where processed * and the current form will be the one displayed. * * @param int $step The current step */ protected function beforeDisplayFor($step) { switch ($step) { case 1: $fieldInfo = $this->getTranslatorTable(); break; case 2: case 3: case 4: case 5: if (isset($this->formData['trans']) && $this->formData['trans']) { $fieldInfo = $this->getTranslatorTable($this->formData['trans']); break; } default: $fieldInfo = null; } if ($fieldInfo) { // Slow //$table1 = \MUtil_Html_TableElement::createArray($fieldInfo, $this->_('Import field definitions'), true); //$table1->appendAttrib('class', $this->formatBoxClass); // Fast $table = \MUtil_Html_TableElement::table(); $table->caption($this->_('Import field definitions')); $table->appendAttrib('class', $this->formatBoxClass); $repeater = new \MUtil_Lazy_Repeatable($fieldInfo); $table->setRepeater($repeater); foreach (reset($fieldInfo) as $title => $element) { $table->addColumn($repeater->{$title}, $title); } $element = $this->_form->createElement('html', 'transtable'); $element->setValue($table); $this->_form->addElement($element); } }