/** * @return array */ protected function prepareFields() { if (is_array($this->preparedFields)) { return $this->preparedFields; } $fields = array(); foreach ($this->properties() as $field => $data) { $this->fieldInput($field, $data); if (!isset($data['input'])) { continue; } $data['caption'] = $this->fieldCaption($field); $fields[$field] = $data; } \TAO::sort($fields); $this->preparedFields = $fields; return $fields; }