CJuiButton
| Пакет | zii.widgets.jui |
|---|---|
| Наследование | class CJuiButton » CJuiInputWidget » CJuiWidget » CWidget » CBaseController » CComponent |
| С момента | 1.1.3 |
| Исходный код | framework/zii/widgets/jui/CJuiButton.php |
CJuiButton отображает виджет кнопки.
CJuiButton инкапсулирует плагин JUI Button.
Чтобы использовать этот виджет как кнопку отправки, вы можете вставить следующий код в представление:
Чтобы использовать этот виджет как обычную кнопку, вы можете вставить следующий код в представление:
Настроив свойство options, вы можете указать опции, которые необходимо передать плагину JUI кнопки. Обратитесь к документации JUI Button API для возможных опций (имя-значение) и к странице JUI Button для общего описания и демо.
CJuiButton инкапсулирует плагин JUI Button.
Чтобы использовать этот виджет как кнопку отправки, вы можете вставить следующий код в представление:
$this->widget('zii.widgets.jui.CJuiButton',array(
'buttonType'=>'submit',
'name'=>'btnSubmit',
'value'=>'1',
'caption'=>'Submit form',
'htmlOptions'=>array('class'=>'ui-button-primary')
),
));
Чтобы использовать этот виджет как обычную кнопку, вы можете вставить следующий код в представление:
$this->widget('zii.widgets.jui.CJuiButton',array(
'buttonType'=>'button',
'name'=>'btnSave',
'caption'=>'Save',
'onclick'=>new CJavaScriptExpression('function(){alert("Save button clicked"); this.blur(); return false;}'),
));
Настроив свойство options, вы можете указать опции, которые необходимо передать плагину JUI кнопки. Обратитесь к документации JUI Button API для возможных опций (имя-значение) и к странице JUI Button для общего описания и демо.
Свойства публичного доступа
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| actionPrefix | строка | префикс к идентификаторам действий. | CWidget |
| attribute | строка | атрибут, связанный с этим виджетом. | CJuiInputWidget |
| buttonType | строка | Тип кнопки (возможные типы: submit, button, link, radio, checkbox, buttonset). | CJuiButton |
| caption | строка | Текст кнопки | CJuiButton |
| controller | CController | Возвращает контроллер, к которому принадлежит этот виджет. | CWidget |
| cssFile | смешанный | имя файла CSS темы. | CJuiWidget |
| htmlOptions | массив | HTML-атрибуты, которые должны быть отображены в HTML-теге, представляющем виджет JUI. | CJuiWidget |
| htmlTag | строка | Стандартный HTML-тег для buttonset | CJuiButton |
| id | строка | Возвращает ID виджета или генерирует новый, если требуется. | CWidget |
| model | CModel | модель данных, связанная с этим виджетом. | CJuiInputWidget |
| name | строка | имя ввода. | CJuiInputWidget |
| onclick | строка | JavaScript-функция, которая вызывается при нажатии на этот элемент (клиентское событие). | CJuiButton |
| options | массив | исходные JavaScript-опции, которые должны быть переданы плагину JUI. | CJuiWidget |
| owner | CBaseController | Возвращает владельца/создателя этого виджета. | CWidget |
| scriptFile | смешанный | имя основного файла JavaScript JUI. | CJuiWidget |
| scriptUrl | строка | корневой URL, содержащий все файлы JavaScript JUI. | CJuiWidget |
| skin | смешанный | имя скина, используемого этим виджетом. | CWidget |
| theme | строка | имя темы JUI. | CJuiWidget |
| themeUrl | строка | корневой URL, содержащий все папки тем JUI. | CJuiWidget |
| url | смешанный | URL или маршрут действия, которые можно использовать для создания URL. | CJuiButton |
| value | смешанный | Значение текущего элемента. | CJuiButton |
| viewPath | строка | Возвращает директорию, содержащую файлы представления для этого виджета. | CWidget |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CWidget |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства null. | 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() | Возвращает ID виджета или генерирует новый, если запрошено. | CWidget |
| getOwner() | Возвращает владельца/создателя этого виджета. | CWidget |
| getViewFile() | Ищет файл скрипта представления согласно имени представления. | CWidget |
| getViewPath() | Возвращает каталог, содержащий файлы представлений для этого виджета. | CWidget |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, имеет ли указанное событие прикреплённые обработчики. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | (non-PHPdoc) | CJuiButton |
| raiseEvent() | Возбуждает событие. | CComponent |
| render() | Рендерит представление. | CWidget |
| renderFile() | Рендерит файл представления. | CBaseController |
| renderInternal() | Рендерит файл представления. | CBaseController |
| run() | (non-PHPdoc) | CJuiButton |
| setId() | Устанавливает ID виджета. | CWidget |
| widget() | Создаёт виджет и выполняет его. | CBaseController |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| hasModel() | Определяет, связан ли этот виджет с моделью данных. | CJuiInputWidget |
| registerCoreScripts() | Регистрирует основные файлы скриптов. | CJuiWidget |
| registerScriptFile() | Регистрирует файл JavaScript по адресу scriptUrl. | CJuiWidget |
| resolveNameID() | Разрешает имя и ID ввода. Свойство источника имени и/или свойства источника атрибута | CJuiInputWidget |
| resolvePackagePath() | Определяет путь к установке пакета JUI. | CJuiWidget |
Подробное описание свойств
buttonType свойство
public string $buttonType;
Тип кнопки (возможные типы: submit, button, link, radio, checkbox, buttonset). По умолчанию используется "submit".
caption свойство
public string $caption;
Текст кнопки
htmlTag свойство
public string $htmlTag;
Значение тега html по умолчанию для кнопки.
onclick свойство
public string $onclick;
Функция JavaScript, которая вызывается при нажатии на элемент (событие клиента).
url свойство
public mixed $url;
URL или маршрут действия, который может быть использован для создания URL. Используется, когда выбран тип кнопки "ссылка". См. normalizeUrl для получения более подробной информации о том, как указать этот параметр.
value свойство
public mixed $value;
Значение текущего элемента. Используется только для элементов типа "радио" и "флажок".
Подробное описание методов
init() метод
public void init() |
Исходный код: framework/zii/widgets/jui/CJuiButton.php#85 (показать)
public function init()
{
parent::init();
if($this->buttonType=='buttonset')
{
if(!isset($this->htmlOptions['id']))
$this->htmlOptions['id']=$this->getId();
echo CHtml::openTag($this->htmlTag,$this->htmlOptions);
}
}
(non-PHPdoc)
См. также
- framework/zii/widgets/jui/CJuiWidget::init()
run() метод
public void run() |
Исходный код: framework/zii/widgets/jui/CJuiButton.php#102 (показать)
public function run()
{
$cs=Yii::app()->getClientScript();
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'];
else
$this->htmlOptions['name']=$name;
if($this->buttonType=='buttonset')
{
echo CHtml::closeTag($this->htmlTag);
$cs->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').buttonset();");
}
else
{
switch($this->buttonType)
{
case 'submit':
echo CHtml::submitButton($this->caption,$this->htmlOptions)."\n";
break;
case 'button':
echo CHtml::htmlButton($this->caption,$this->htmlOptions)."\n";
break;
case 'link':
echo CHtml::link($this->caption,$this->url,$this->htmlOptions)."\n";
break;
case 'radio':
if($this->hasModel())
{
echo CHtml::activeRadioButton($this->model,$this->attribute,$this->htmlOptions);
echo CHtml::label($this->caption,CHtml::activeId($this->model,$this->attribute))."\n";
}
else
{
echo CHtml::radioButton($name,$this->value,$this->htmlOptions);
echo CHtml::label($this->caption,$id)."\n";
}
break;
case 'checkbox':
if($this->hasModel())
{
echo CHtml::activeCheckbox($this->model,$this->attribute,$this->htmlOptions);
echo CHtml::label($this->caption,CHtml::activeId($this->model,$this->attribute))."\n";
}
else
{
echo CHtml::checkbox($name,$this->value,$this->htmlOptions);
echo CHtml::label($this->caption,$id)."\n";
}
break;
default:
throw new CException(Yii::t('zii','The button type "{type}" is not supported.',array('{type}'=>$this->buttonType)));
}
$options=CJavaScript::encode($this->options);
if($this->onclick!==null)
{
if(!($this->onclick instanceof CJavaScriptExpression))
$this->onclick=new CJavaScriptExpression($this->onclick);
$click=CJavaScript::encode($this->onclick);
$cs->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').button($options).click($click);");
}
else
$cs->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').button($options);");
}
}
(non-PHPdoc)
См. также
- framework/CWidget::run()
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CJuiButton