getForm()->addText('maximum_score', get_lang('Score')); $config = ['ToolbarSet' => 'Survey', 'Width' => '100%', 'Height' => '120']; if (is_array($formData['answers'])) { foreach ($formData['answers'] as $key => $value) { $this->getForm()->addHtmlEditor( 'answers['.$key.']', null, false, false, $config ); } } parent::addRemoveButtons($formData); } /** * @param FormValidator $form * @param array $questionData * @param array $answers */ public function render(FormValidator $form, $questionData = [], $answers = []) { $defaults = []; foreach ($questionData['options'] as $key => &$value) { $options = [ '--' => '--', ]; for ($i = 1; $i <= $questionData['maximum_score']; $i++) { $options[$i] = $i; } $name = 'question'.$questionData['question_id'].'['.$key.']'; $form->addSelect( $name, $value, $options ); if (!empty($answers)) { if (in_array($key, array_keys($answers))) { $defaults[$name] = $answers[$key]; } } } if (!empty($defaults)) { $form->setDefaults($defaults); } } }