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;
 }
Beispiel #2
0
<?php

// Widgets
return ['activeForm' => ['class' => \rock\widgets\ActiveForm::className()], 'activeField' => ['class' => \rock\widgets\ActiveField::className()], 'widget\\captcha' => ['class' => \rock\widgets\Captcha::className()]];