CFormButtonElement
Package | system.web.form |
---|---|
Inheritance | class CFormButtonElement » CFormElement » CComponent |
Since | 1.1 |
Source Code | framework/web/form/CFormButtonElement.php |
CFormButtonElement can represent the following types of button based on type property:
- htmlButton: a normal button generated using CHtml::htmlButton
- htmlReset a reset button generated using CHtml::htmlButton
- htmlSubmit: a submit button generated using CHtml::htmlButton
- submit: a submit button generated using CHtml::submitButton
- button: a normal button generated using CHtml::button
- image: an image button generated using CHtml::imageButton
- reset: a reset button generated using CHtml::resetButton
- link: a link button generated using CHtml::linkButton
Because CFormElement is an ancestor class of CFormButtonElement, a value assigned to a non-existing property will be stored in attributes which will be passed as HTML attribute values to the CHtml method generating the button or initial values of the widget properties.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
attributes | array | list of attributes (name=>value) for the HTML element represented by this object. | CFormElement |
coreTypes | array | Core button types (alias=>CHtml method name) | CFormButtonElement |
label | string | the label of this button. | CFormButtonElement |
name | string | name of this button | CFormButtonElement |
on | string | Returns a value indicating under which scenarios this button is visible. | CFormButtonElement |
parent | mixed | the direct parent of this element. | CFormElement |
type | string | the type of this button. | CFormButtonElement |
visible | boolean | Returns a value indicating whether this element is visible and should be rendered. | CFormElement |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CFormElement |
__get() | Returns a property value or an attribute value. | CFormElement |
__isset() | Checks a property value or an attribute value on existence or not null | CFormElement |
__set() | Sets value of a property or attribute. | CFormElement |
__toString() | Converts the object to a string. | CFormElement |
__unset() | Sets a component property to be null. | CComponent |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
configure() | Configures this object with property initial values. | CFormElement |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getOn() | Returns a value indicating under which scenarios this button is visible. | CFormButtonElement |
getParent() | Returns the direct parent of this element. This could be either a CForm object or a CBaseController object (a controller or a widget). | CFormElement |
getVisible() | Returns a value indicating whether this element is visible and should be rendered. | CFormElement |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
raiseEvent() | Raises an event. | CComponent |
render() | Returns this button. | CFormButtonElement |
setOn() | Sets scenario names separated by commas. | CFormButtonElement |
setVisible() | Sets whether this element is visible and should be rendered. | CFormElement |
Protected Methods
Method | Description | Defined By |
---|---|---|
evaluateVisible() | Evaluates the visibility of this element. | CFormButtonElement |
Property Details
coreTypes property
public static array $coreTypes;
Core button types (alias=>CHtml method name)
label property
public string $label;
the label of this button. This property is ignored when a widget is used to generate the button.
name property
public string $name;
name of this button
on property
public string getOn()
public void setOn(string $value)
Returns a value indicating under which scenarios this button is visible. If the value is empty, it means the button is visible under all scenarios. Otherwise, only when the model is in the scenario whose name can be found in this value, will the button be visible. See CModel::scenario for more information about model scenarios.
type property
public string $type;
the type of this button. This can be a class name, a path alias of a class name, or a button type alias (submit, button, image, reset, link, htmlButton, htmlSubmit, htmlReset).
Method Details
evaluateVisible() method
protected boolean evaluateVisible() | ||
{return} | boolean | whether this element is visible. |
protected function evaluateVisible()
{
return empty($this->_on) || in_array($this->getParent()->getModel()->getScenario(),$this->_on);
}
Evaluates the visibility of this element. This method will check the on property to see if the model is in a scenario that should have this string displayed.
getOn() method
public string getOn() | ||
{return} | string | scenario names separated by commas. Defaults to null. |
public function getOn()
{
return $this->_on;
}
Returns a value indicating under which scenarios this button is visible. If the value is empty, it means the button is visible under all scenarios. Otherwise, only when the model is in the scenario whose name can be found in this value, will the button be visible. See CModel::scenario for more information about model scenarios.
render() method
public string render() | ||
{return} | string | the rendering result |
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();
}
}
Returns this button.
setOn() method
public void setOn(string $value) | ||
$value | string | scenario names separated by commas. |
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