예제 #1
0
 /**
  * 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();
     }
 }
예제 #2
0
 /**
  * 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);
 }