Spec-Zone.ru › Yii 1.1

CJuiDatePicker

Пакет zii.widgets.jui
Наследование class CJuiDatePicker » CJuiInputWidget » CJuiWidget » CWidget » CBaseController » CComponent
С версии 1.1
Исходный код framework/zii/widgets/jui/CJuiDatePicker.php
CJuiDatePicker отображает календарь выбора даты.

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()
Исходный код: framework/zii/widgets/jui/CJuiDatePicker.php#70 (показать)
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API