CJuiDatePicker
| Пакет | zii.widgets.jui |
|---|---|
| Наследование | class CJuiDatePicker » CJuiInputWidget » CJuiWidget » CWidget » CBaseController » CComponent |
| С версии | 1.1 |
| Исходный код | framework/zii/widgets/jui/CJuiDatePicker.php |
CJuiDatePicker инкапсулирует плагин JUI datepicker.
Для использования этого виджета, вы можете вставить следующий код в представление:
$this->widget('zii.widgets.jui.CJuiDatePicker',array(
'name'=>'publishDate',
// additional javascript options for the date picker plugin
'options'=>array(
'showAnim'=>'fold',
),
'htmlOptions'=>array(
'style'=>'height:20px;'
),
));
Настроив свойство options, вы можете указать параметры, которые нужно передать плагину JUI datepicker. Обратитесь к документации JUI DatePicker API для возможных параметров (имя-значение) и к странице JUI DatePicker для общего описания и демо.
Общественные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| actionPrefix | строка | префикс к идентификаторам действий. | CWidget |
| attribute | строка | атрибут, связанный с этим виджетом. | CJuiInputWidget |
| controller | CController | Возвращает контроллер, к которому принадлежит этот виджет. | CWidget |
| cssFile | смешанный тип | имя файла темы CSS. | CJuiWidget |
| defaultOptions | массив | Базовые параметры, вызываемые один раз за запрос. | CJuiDatePicker |
| flat | логическое значение | Если true, отображает виджет как встроенный календарь, а поле ввода как скрытое поле. | CJuiDatePicker |
| htmlOptions | массив | HTML-атрибуты, которые должны быть отображены в HTML-теге, представляющем виджет JUI. | CJuiWidget |
| i18nScriptFile | строка | Файл скрипта i18n Jquery UI. | CJuiDatePicker |
| id | строка | Возвращает ID виджета или генерирует новый, если требуется. | CWidget |
| language | строка | Идентификатор локали (например, 'fr', 'de') для языка, который будет использоваться виджетом выбора даты. | CJuiDatePicker |
| model | CModel | модель данных, связанная с этим виджетом. | CJuiInputWidget |
| name | строка | Имя поля ввода. | CJuiInputWidget |
| options | массив | Начальные JavaScript-опции, которые должны быть переданы плагину JUI. | CJuiWidget |
| owner | CBaseController | Возвращает владельца/создателя этого виджета. | CWidget |
| scriptFile | смешанный тип | Основной JUI файл JavaScript. | CJuiWidget |
| scriptUrl | строка | Корневой URL, содержащий все файлы JavaScript JUI. | CJuiWidget |
| skin | смешанный тип | имя скина, которое будет использоваться этим виджетом. | CWidget |
| theme | строка | имя темы JUI. | CJuiWidget |
| themeUrl | строка | корневой URL, содержащий все папки темы JUI. | CJuiWidget |
| value | строка | значение поля ввода. | CJuiInputWidget |
| viewPath | строка | Возвращает каталог, содержащий файлы представления для этого виджета. | CWidget |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CWidget |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение по его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства нулевым. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в значение null. | CComponent |
| actions() | Возвращает список действий, используемых этим виджетом. | CWidget |
| asa() | Возвращает объект поведения с указанным именем. | CComponent |
| attachBehavior() | Присоединяет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Присоединяет список поведений к компоненту. | CComponent |
| attachEventHandler() | Присоединяет обработчик событий к событию. | CComponent |
| beginCache() | Начинает фрагментарное кэширование. | CBaseController |
| beginClip() | Начинает запись клипа. | CBaseController |
| beginContent() | Начинает отображение содержимого, которое должно быть оформлено указанным представлением. | CBaseController |
| beginWidget() | Создает виджет и выполняет его. | CBaseController |
| canGetProperty() | Определяет, можно ли прочитать свойство. | CComponent |
| canSetProperty() | Определяет, можно ли установить свойство. | CComponent |
| createWidget() | Создает виджет и инициализирует его. | CBaseController |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает присоединённое поведение. | CComponent |
| disableBehaviors() | Отключает все присоединённые поведения к этому компоненту. | CComponent |
| enableBehavior() | Включает присоединённое поведение. | CComponent |
| enableBehaviors() | Включает все присоединённые поведения к этому компоненту. | CComponent |
| endCache() | Завершает фрагментарное кэширование. | CBaseController |
| endClip() | Завершает запись клипа. | CBaseController |
| endContent() | Завершает отображение содержимого. | CBaseController |
| endWidget() | Завершает выполнение указанного виджета. | CBaseController |
| evaluateExpression() | Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. | CComponent |
| getController() | Возвращает контроллер, к которому принадлежит этот виджет. | CWidget |
| getEventHandlers() | Возвращает список присоединённых обработчиков событий для события. | CComponent |
| getId() | Возвращает идентификатор виджета или генерирует новый, если запрошено. | CWidget |
| getOwner() | Возвращает владельца/создателя этого виджета. | CWidget |
| getViewFile() | Ищет файл скрипта представления в соответствии с именем представления. | CWidget |
| getViewPath() | Возвращает директорию, содержащую файлы представлений для этого виджета. | CWidget |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли присоединённые обработчики для заданного события. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | Инициализирует виджет. | CJuiWidget |
| raiseEvent() | Вызывает событие. | CComponent |
| render() | Отображает представление. | CWidget |
| renderFile() | Отображает файл представления. | CBaseController |
| renderInternal() | Отображает файл представления. | CBaseController |
| run() | Выполнить этот виджет. | CJuiDatePicker |
| setId() | Устанавливает идентификатор виджета. | CWidget |
| widget() | Создаёт виджет и выполняет его. | CBaseController |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| hasModel() | Определяет, связан ли этот виджет с моделью данных. | CJuiInputWidget |
| registerCoreScripts() | Регистрирует ядро скриптов. | CJuiWidget |
| registerScriptFile() | Регистрирует JavaScript-файл в scriptUrl. | CJuiWidget |
| resolveNameID() | Решает имя и ID ввода. Свойство источника имени и/или свойства источника атрибута | CJuiInputWidget |
| resolvePackagePath() | Определяет путь установки пакета JUI. | CJuiWidget |
Подробное описание свойств
defaultOptions свойство
public array $defaultOptions;
Значения по умолчанию, используемые только один раз на запрос. Данные значения изменят каждый экземпляр виджета CJuiDatePicker на странице. Значения необходимо установить при первом вызове виджета CJuiDatePicker в запросе.
flat свойство
public boolean $flat;
Если значение true, отображает виджет как встроенный календарь, а вход — как скрытое поле.
i18nScriptFile свойство
public string $i18nScriptFile;
Файл скрипта i18n Jquery UI. Он использует свойство scriptUrl в качестве базового URL.
language свойство
public string $language;
Идентификатор регионального формата (например, 'fr', 'de') языка, который будет использоваться виджетом выбора даты. Если это свойство не установлено, I18N не будет задействован. То есть, виджет выбора даты будет отображаться на английском языке. Вы можете принудительно установить английский язык, установив свойство language как '' (пустая строка).
Подробное описание методов
run() метод
public void run() |
public function run()
{
list($name,$id)=$this->resolveNameID();
if(isset($this->htmlOptions['id']))
$id=$this->htmlOptions['id'];
else
$this->htmlOptions['id']=$id;
if(isset($this->htmlOptions['name']))
$name=$this->htmlOptions['name'];
if($this->flat===false)
{
if($this->hasModel())
echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
else
echo CHtml::textField($name,$this->value,$this->htmlOptions);
}
else
{
if($this->hasModel())
{
echo CHtml::activeHiddenField($this->model,$this->attribute,$this->htmlOptions);
$attribute=$this->attribute;
$this->options['defaultDate']=$this->model->$attribute;
}
else
{
echo CHtml::hiddenField($name,$this->value,$this->htmlOptions);
$this->options['defaultDate']=$this->value;
}
$this->options['altField']='#'.$id;
$id=$this->htmlOptions['id']=$id.'_container';
$this->htmlOptions['name']=$name.'_container';
echo CHtml::tag('div',$this->htmlOptions,'');
}
$options=CJavaScript::encode($this->options);
$js = "jQuery('#{$id}').datepicker($options);";
if($this->language!='' && $this->language!='en')
{
$this->registerScriptFile($this->i18nScriptFile);
$js = "jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false},jQuery.datepicker.regional['{$this->language}'],{$options}));";
}
$cs = Yii::app()->getClientScript();
if(isset($this->defaultOptions))
{
$this->registerScriptFile($this->i18nScriptFile);
$cs->registerScript(__CLASS__,$this->defaultOptions!==null?'jQuery.datepicker.setDefaults('.CJavaScript::encode($this->defaultOptions).');':'');
}
$cs->registerScript(__CLASS__.'#'.$id,$js);
}
Выполняет этот виджет. Этот метод регистрирует необходимый javascript и рендерит необходимый HTML-код.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CJuiDatePicker