protected function prepareFields(\rock\widgets\ActiveForm $form, array $fields, array &$result) { $form->submitted = $this->model->isLoad(); foreach ($fields as $attributeName => $params) { if (is_int($attributeName)) { $result[] = $this->template->replace($params); continue; } if (isset($params['options']['enabled']) && $params['options']['enabled'] === false) { continue; } unset($params['options']['enabled']); $field = $form->field($this->model, $attributeName, Helper::getValue($params['options'], [])); unset($params['options']); foreach ($params as $additionName => $additionParams) { if (is_int($additionName)) { $additionName = $additionParams; unset($additionParams); } call_user_func_array([$field, $additionName], Helper::getValue($additionParams, [])); } $result[] = $field->render(); } return $result; }
<?php // Widgets return ['activeForm' => ['class' => \rock\widgets\ActiveForm::className()], 'activeField' => ['class' => \rock\widgets\ActiveField::className()], 'widget\\captcha' => ['class' => \rock\widgets\Captcha::className()]];