CFormButtonElement
| Пакет | system.web.form |
|---|---|
| Наследование | class CFormButtonElement » CFormElement » CComponent |
| С момента | 1.1 |
| Исходный код | framework/web/form/CFormButtonElement.php |
CFormButtonElement может представлять следующие типы кнопок в зависимости от свойства type:
- htmlButton: обычная кнопка, сгенерированная с помощью CHtml::htmlButton
- htmlReset: кнопка сброса, сгенерированная с помощью CHtml::htmlButton
- htmlSubmit: кнопка отправки, сгенерированная с помощью CHtml::htmlButton
- submit: кнопка отправки, сгенерированная с помощью CHtml::submitButton
- button: обычная кнопка, сгенерированная с помощью CHtml::button
- image: кнопка изображения, сгенерированная с помощью CHtml::imageButton
- reset: кнопка сброса, сгенерированная с помощью CHtml::resetButton
- link: кнопка ссылки, сгенерированная с помощью CHtml::linkButton
Поскольку CFormElement является предковым классом CFormButtonElement, значение, присвоенное несуществующему свойству, будет храниться в attributes, что будет передано в качестве значений атрибутов HTML методу CHtml, генерирующему кнопку, или начальными значениями свойств виджета.
Свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| attributes | массив | список атрибутов (имя=>значение) для HTML-элемента, представленного этим объектом. | CFormElement |
| coreTypes | массив | Основные типы кнопок (псевдоним=>имя метода CHtml) | CFormButtonElement |
| label | строка | метка этой кнопки. | CFormButtonElement |
| name | строка | имя этой кнопки | CFormButtonElement |
| on | строка | Возвращает значение, указывающее, в каких сценариях эта кнопка отображается. | CFormButtonElement |
| parent | смешанный тип | непосредственный родитель этого элемента. | CFormElement |
| type | строка | тип этой кнопки. | CFormButtonElement |
| visible | булево | Возвращает значение, указывающее, отображается ли этот элемент и должен ли он быть отображен. | CFormElement |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с указанным именем, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CFormElement |
| __get() | Возвращает значение свойства или атрибута. | CFormElement |
| __isset() | Проверяет наличие или непустоту значения свойства или атрибута. | CFormElement |
| __set() | Устанавливает значение свойства или атрибута. | CFormElement |
| __toString() | Преобразует объект в строку. | CFormElement |
| __unset() | Устанавливает свойство компонента в null. | CComponent |
| asa() | Возвращает объект поведения с указанным именем. | CComponent |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | CComponent |
| attachEventHandler() | Прикрепляет обработчик событий к событию. | CComponent |
| canGetProperty() | Определяет, может ли свойство быть прочитано. | CComponent |
| canSetProperty() | Определяет, может ли свойство быть установлено. | CComponent |
| configure() | Настраивает этот объект с начальными значениями свойств. | CFormElement |
| detachBehavior() | Открепляет поведение от компонента. | CComponent |
| detachBehaviors() | Открепляет все поведения от компонента. | CComponent |
| detachEventHandler() | Открепляет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает присоединённое поведение. | CComponent |
| disableBehaviors() | Отключает все присоединенные поведения к этому компоненту. | CComponent |
| enableBehavior() | Включает присоединённое поведение. | CComponent |
| enableBehaviors() | Включает все присоединённые к этому компоненту поведения. | CComponent |
| evaluateExpression() | Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. | CComponent |
| getEventHandlers() | Возвращает список присоединённых обработчиков событий для события. | CComponent |
| getOn() | Возвращает значение, указывающее, в каких сценариях эта кнопка отображается. | CFormButtonElement |
| getParent() | Возвращает непосредственного родителя этого элемента. Это может быть объект CForm или объект CBaseController (контроллер или виджет). | CFormElement |
| getVisible() | Возвращает значение, указывающее, отображается ли этот элемент и должен ли он быть отображен. | CFormElement |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли обработчики присоединённые к событию с указанным именем. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| raiseEvent() | Вызывает событие. | CComponent |
| render() | Возвращает эту кнопку. | CFormButtonElement |
| setOn() | Устанавливает имена сценариев, разделённые запятыми. | CFormButtonElement |
| setVisible() | Устанавливает, отображается ли этот элемент и должен ли он быть отображён. | CFormElement |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| evaluateVisible() | Оценивает видимость этого элемента. | CFormButtonElement |
Подробное описание свойств
coreTypes свойство
public static array $coreTypes;
Типы кнопок (псевдоним => имя метода CHtml).
label свойство
public string $label;
Текст метки этой кнопки. Это свойство игнорируется, когда для создания кнопки используется виджет.
name свойство
public string $name;
Имя этой кнопки.
on свойство
public string getOn()
public void setOn(string $value)
Возвращает значение, указывающее, в каких сценариях эта кнопка видима. Если значение пустое, это означает, что кнопка видна во всех сценариях. В противном случае, кнопка будет видна только тогда, когда модель находится в сценарии, имя которого есть в этом значении. См. CModel::scenario для получения дополнительной информации о сценариях модели.
type свойство
public string $type;
Тип этой кнопки. Это может быть имя класса, псевдоним пути к имени класса или псевдоним типа кнопки (submit, button, image, reset, link, htmlButton, htmlSubmit, htmlReset).
Подробное описание методов
evaluateVisible() метод
protected boolean evaluateVisible() | ||
| {возврат} | boolean | является ли этот элемент видимым. |
protected function evaluateVisible()
{
return empty($this->_on) || in_array($this->getParent()->getModel()->getScenario(),$this->_on);
}
Оценивает видимость этого элемента. Этот метод проверяет свойство on, чтобы определить, находится ли модель в сценарии, который должен отображать эту строку.
getOn() метод
public string getOn() | ||
| {возврат} | строка | названия сценариев, разделенные запятыми. По умолчанию равно null. |
public function getOn()
{
return $this->_on;
}
Возвращает значение, указывающее, в каких сценариях эта кнопка видима. Если значение пустое, это означает, что кнопка видна во всех сценариях. В противном случае, кнопка будет видна только тогда, когда модель находится в сценарии, имя которого есть в этом значении. См. CModel::scenario для получения дополнительной информации о сценариях модели.
render() метод
public string render() | ||
| {возврат} | строка | результат рендеринга |
public function render()
{
$attributes=$this->attributes;
if(isset(self::$coreTypes[$this->type]))
{
$method=self::$coreTypes[$this->type];
if($method==='linkButton')
{
if(!isset($attributes['params'][$this->name]))
$attributes['params'][$this->name]=1;
}
elseif($method==='htmlButton')
{
$attributes['type']=$this->type==='htmlSubmit' ? 'submit' : ($this->type==='htmlReset' ? 'reset' : 'button');
$attributes['name']=$this->name;
}
else
$attributes['name']=$this->name;
if($method==='imageButton')
return CHtml::imageButton(isset($attributes['src']) ? $attributes['src'] : '',$attributes);
else
return CHtml::$method($this->label,$attributes);
}
else
{
$attributes['name']=$this->name;
ob_start();
$this->getParent()->getOwner()->widget($this->type, $attributes);
return ob_get_clean();
}
}
Возвращает эту кнопку.
setOn() метод
public void setOn(string $value) | ||
| $value | строка | названия сценариев, разделенные запятыми. |
public function setOn($value)
{
$this->_on=preg_split('/[\s,]+/',$value,-1,PREG_SPLIT_NO_EMPTY);
}
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CFormButtonElement