Пример #1
0
 /**
  * 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);
     }
 }