/** * Renders the input field. * The default implementation returns the result of the appropriate CHtml method or the widget. * @return string the rendering result */ public function renderInput() { if (isset(self::$coreTypes[$this->type])) { $method = self::$coreTypes[$this->type]; if (strpos($method, 'List') !== false) { return HHtml::$method($this->getParent()->getModel(), $this->name, $this->items, $this->attributes); } elseif ($method == "activeDateTimeField") { return HHtml::activeDateTimeField($this->getParent()->getModel(), $this->name, $this->attributes, $this->dateTimePickerOptions); } else { return HHtml::$method($this->getParent()->getModel(), $this->name, $this->attributes); } } else { $attributes = $this->attributes; $attributes['model'] = $this->getParent()->getModel(); $attributes['attribute'] = $this->name; ob_start(); $this->getParent()->getOwner()->widget($this->type, $attributes); return ob_get_clean(); } }
/** * Renders a datetime field for a model attribute. * * Utilizes bootstrap-datetimepicker.js * @param CModel $model the data model * @param string $attribute the attribute * @param array $htmlOptions additional HTML attributes. * @param array $fieldOptions additional picker attributes. (see HHTML::activeDateTimeField) * * @return string the generated input field */ public function dateTimeField($model, $attribute, $htmlOptions = array(), $fieldOptions = array()) { return HHtml::activeDateTimeField($model, $attribute, $htmlOptions, $fieldOptions); }