CHtml
继承
class CHtml
可用自
1.0
版本
$Id$
CHtml is a static class that provides a collection of helper methods for creating HTML views.
公共属性
属性类型描述被定义在
string
the HTML code to be appended to the required label.
CHtml
string
the HTML code to be prepended to the required label.
CHtml
integer
the counter for generating automatic input field names.
CHtml
string
the CSS class for highlighting error inputs.
CHtml
string
the CSS class for displaying error messages (see error).
CHtml
string
the CSS class for displaying error summaries (see errorSummary).
CHtml
string
the CSS class for required labels.
CHtml
string
the scenario used to determine whether a model attribute is required.
CHtml
公共方法
方法描述被定义在
Generates a check box for a model attribute.
CHtml
Generates a check box list for a model attribute.
CHtml
Generates a drop down list for a model attribute.
CHtml
Generates a file input for a model attribute.
CHtml
Generates a hidden input for a model attribute.
CHtml
Generates input field ID for a model attribute.
CHtml
Generates a label tag for a model attribute.
CHtml
Generates a label tag for a model attribute.
CHtml
Generates a list box for a model attribute.
CHtml
Generates input field name for a model attribute.
CHtml
Generates a password field input for a model attribute.
CHtml
Generates a radio button for a model attribute.
CHtml
Generates a radio button list for a model attribute.
CHtml
Generates a text area input for a model attribute.
CHtml
Generates a text field input for a model attribute.
CHtml
Generates the JavaScript that initiates an AJAX request.
CHtml
Generates a push button that can initiate AJAX requests.
CHtml
Generates a link that can initiate AJAX requests.
CHtml
Generates a push button that can submit the current form in POST method.
CHtml
Generates the URL for the published assets.
CHtml
Generates an opening form tag.
CHtml
Generates a button.
CHtml
Encloses the given string within a CDATA tag.
CHtml
Generates a check box.
CHtml
Generates a check box list.
CHtml
Generates a close HTML element.
CHtml
Encloses the given CSS content with a CSS tag.
CHtml
Links to the specified CSS file.
CHtml
Generates a drop down list.
CHtml
Encodes special characters into HTML entities.
CHtml
Encodes special characters in an array of strings into HTML entities.
CHtml
Generates a closing form tag.
CHtml
Displays the first validation error for a model attribute.
CHtml
Displays a summary of validation errors for one or several models.
CHtml
Generates a file input.
CHtml
Generates an opening form tag.
CHtml
Returns the element ID that is used by methods such as activeTextField.
CHtml
Generates a valid HTML ID based the name.
CHtml
Generates a hidden input.
CHtml
Generates a button using HTML button tag.
CHtml
Generates an image tag.
CHtml
Generates an image submit button.
CHtml
Generates a label tag.
CHtml
Generates a hyperlink tag.
CHtml
Generates a link submit button.
CHtml
Generates a link tag that can be inserted in the head section of HTML page.
CHtml
Generates a list box.
CHtml
Generates the data suitable for dropDownList and listBox.
CHtml
Generates the list options.
CHtml
Generates a mailto link.
CHtml
Generates a meta tag that can be inserted in the head section of HTML page.
CHtml
Normalizes the input parameter to be a valid URL.
CHtml
Generates an open HTML element.
CHtml
Generates a hidden field for storing persistent page states.
CHtml
Generates a password field input.
CHtml
Generates a radio button.
CHtml
Generates a radio button list.
CHtml
Generates a reset button.
CHtml
Generates input name for a model attribute.
CHtml
Generates input name and ID for a model attribute.
CHtml
Encloses the given JavaScript within a script tag.
CHtml
Includes a JavaScript file.
CHtml
Generates a stateful form tag.
CHtml
Generates a submit button.
CHtml
Generates an HTML element.
CHtml
Generates a text area input.
CHtml
Generates a text field input.
CHtml
Evaluates the value of the specified attribute for the given model.
CHtml
受保护的方法
方法描述被定义在
Generates an input HTML tag for a model attribute.
CHtml
Appends errorCss to the 'class' attribute.
CHtml
Generates the JavaScript with the specified client changes.
CHtml
Generates an input HTML tag.
CHtml
Renders the HTML tag attributes.
CHtml
属性详情
afterRequiredLabel属性
public static string $afterRequiredLabel;
the HTML code to be appended to the required label.
beforeRequiredLabel属性
public static string $beforeRequiredLabel;
the HTML code to be prepended to the required label.
count属性
(自版本 v1.0.4 可用)
public static integer $count;
the counter for generating automatic input field names.
errorCss属性
public static string $errorCss;
the CSS class for highlighting error inputs. Form inputs will be appended
with this CSS class if they have input errors.
errorMessageCss属性
public static string $errorMessageCss;
the CSS class for displaying error messages (see error).
errorSummaryCss属性
public static string $errorSummaryCss;
the CSS class for displaying error summaries (see errorSummary).
requiredCss属性
public static string $requiredCss;
the CSS class for required labels. Defaults to 'required'.
scenario属性
public static string $scenario;
the scenario used to determine whether a model attribute is required.
方法详情
activeCheckBox()
方法
public static string activeCheckBox(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
Since version 1.0.2, a special option named 'uncheckValue' is available that can be used to specify
the value returned when the checkbox is not checked. By default, this value is '0'.
Internally, a hidden field is rendered so that when the checkbox is not checked,
we can still obtain the posted uncheck value.
If 'uncheckValue' is set as NULL, the hidden field will not be rendered.
{return}
string
the generated check box
Generates a check box for a model attribute.
The attribute is assumed to take either true or false value.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
activeCheckBoxList()
方法
public static string activeCheckBoxList(CModel $model, string $attribute, array $data, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$data
array
value-label pairs used to generate the check box list.
Note, the values will be automatically HTML-encoded, while the labels will not.
$htmlOptions
array
addtional HTML options. The options will be applied to
each checkbox input. The following special options are recognized:
template: string, specifies how each checkbox is rendered. Defaults
to "{input} {label}", where "{input}" will be replaced by the generated
check box input tag while "{label}" be replaced by the corresponding check box label.
separator: string, specifies the string that separates the generated check boxes.
checkAll: string, specifies the label for the "check all" checkbox.
If this option is specified, a 'check all' checkbox will be displayed. Clicking on
this checkbox will cause all checkboxes checked or unchecked. This option has been
available since version 1.0.4.
checkAllLast: boolean, specifies whether the 'check all' checkbox should be
displayed at the end of the checkbox list. If this option is not set (default)
or is false, the 'check all' checkbox will be displayed at the beginning of
the checkbox list. This option has been available since version 1.0.4.
encode: boolean, specifies whether to encode HTML-encode tag attributes and values. Defaults to true.
This option has been available since version 1.0.5.
{return}
string
the generated check box list
Generates a check box list for a model attribute.
The model attribute value is used as the selection.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
Note that a check box list allows multiple selection, like listBox.
As a result, the corresponding POST value is an array. In case no selection
is made, the corresponding POST value is an empty string.
activeDropDownList()
方法
public static string activeDropDownList(CModel $model, string $attribute, array $data, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$data
array
data for generating the list options (value=>display)
You may use listData to generate this data.
Please refer to listOptions on how this data is used to generate the list options.
Note, the values and labels will be automatically HTML-encoded by this method.
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are recognized. See clientChange and tag for more details.
In addition, the following options are also supported:
prompt: string, specifies the prompt text shown as the first list option. Its value is empty.
empty: string, specifies the text corresponding to empty selection. Its value is empty.
Starting from version 1.0.10, the 'empty' option can also be an array of value-label pairs.
Each pair will be used to render a list option at the beginning.
options: array, specifies additional attributes for each OPTION tag.
The array keys must be the option values, and the array values are the extra
OPTION tag attributes in the name-value pairs. For example,
array(
'value1'=>array('disabled'=>true, 'label'=>'value 1'),
'value2'=>array('label'=>'value 2'),
);
This option has been available since version 1.0.3.
{return}
string
the generated drop down list
Generates a drop down list for a model attribute.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
activeFileField()
方法
public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes (see tag).
{return}
string
the generated input field
Generates a file input for a model attribute.
Note, you have to set the enclosing form's 'enctype' attribute to be 'multipart/form-data'.
After the form is submitted, the uploaded file information can be obtained via $_FILES (see
PHP documentation).
activeHiddenField()
方法
public static string activeHiddenField(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes.
{return}
string
the generated input field
Generates a hidden input for a model attribute.
activeId()
方法
(自版本 v1.0.1 可用)
public static string activeId(CModel $model, string $attribute)
$model
the data model
$attribute
string
the attribute
{return}
string
the generated input field ID
Generates input field ID for a model attribute.
activeInputField()
方法
protected static string activeInputField(string $type, CModel $model, string $attribute, array $htmlOptions)
$type
string
the input type (e.g. 'text', 'radio')
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes for the HTML tag
{return}
string
the generated input tag
Generates an input HTML tag for a model attribute.
This method generates an input HTML tag based on the given data model and attribute.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
This enables highlighting the incorrect input.
activeLabel()
方法
public static string activeLabel(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes. A special option named
'label' is recognized since version 1.0.4. If this option is specified, it will be used
as the label. Otherwise, the label will be determined
by calling CModel::getAttributeLabel.
{return}
string
the generated label tag
Generates a label tag for a model attribute.
The label text is the attribute label and the label is associated with
the input for the attribute (see CModel::getAttributeLabel.
If the attribute has input error, the label's CSS class will be appended with errorCss.
activeLabelEx()
方法
(自版本 v1.0.2 可用)
public static string activeLabelEx(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes.
{return}
string
the generated label tag
Generates a label tag for a model attribute.
This is an enhanced version of activeLabel. It will render additional
CSS class and mark when the attribute is required.
In particular, it calls CModel::isAttributeRequired to determine
if the attribute is required under the scenario CHtml::scenario.
If so, it will add a CSS class CHtml::requiredCss to the label,
and decorate the label with CHtml::beforeRequiredLabel and
CHtml::afterRequiredLabel.
activeListBox()
方法
public static string activeListBox(CModel $model, string $attribute, array $data, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$data
array
data for generating the list options (value=>display)
You may use listData to generate this data.
Please refer to listOptions on how this data is used to generate the list options.
Note, the values and labels will be automatically HTML-encoded by this method.
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are recognized. See clientChange and tag for more details.
In addition, the following options are also supported:
prompt: string, specifies the prompt text shown as the first list option. Its value is empty.
empty: string, specifies the text corresponding to empty selection. Its value is empty.
Starting from version 1.0.10, the 'empty' option can also be an array of value-label pairs.
Each pair will be used to render a list option at the beginning.
options: array, specifies additional attributes for each OPTION tag.
The array keys must be the option values, and the array values are the extra
OPTION tag attributes in the name-value pairs. For example,
array(
'value1'=>array('disabled'=>true, 'label'=>'value 1'),
'value2'=>array('label'=>'value 2'),
);
This option has been available since version 1.0.3.
{return}
string
the generated list box
Generates a list box for a model attribute.
The model attribute value is used as the selection.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
activeName()
方法
(自版本 v1.0.1 可用)
public static string activeName(CModel $model, string $attribute)
$model
the data model
$attribute
string
the attribute
{return}
string
the generated input field name
Generates input field name for a model attribute.
Unlike resolveName, this method does NOT modify the attribute name.
activePasswordField()
方法
public static string activePasswordField(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated input field
Generates a password field input for a model attribute.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
activeRadioButton()
方法
public static string activeRadioButton(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
Since version 1.0.9, a special option named 'uncheckValue' is available that can be used to specify
the value returned when the radiobutton is not checked. By default, this value is '0'.
Internally, a hidden field is rendered so that when the radiobutton is not checked,
we can still obtain the posted uncheck value.
If 'uncheckValue' is set as NULL, the hidden field will not be rendered.
{return}
string
the generated radio button
Generates a radio button for a model attribute.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
activeRadioButtonList()
方法
public static string activeRadioButtonList(CModel $model, string $attribute, array $data, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$data
array
value-label pairs used to generate the radio button list.
Note, the values will be automatically HTML-encoded, while the labels will not.
$htmlOptions
array
addtional HTML options. The options will be applied to
each checkbox input. The following special options are recognized:
template: string, specifies how each checkbox is rendered. Defaults
to "{input} {label}", where "{input}" will be replaced by the generated
radio button input tag while "{label}" be replaced by the corresponding radio button label.
separator: string, specifies the string that separates the generated radio buttons.
encode: boolean, specifies whether to encode HTML-encode tag attributes and values. Defaults to true.
This option has been available since version 1.0.5.
{return}
string
the generated radio button list
Generates a radio button list for a model attribute.
The model attribute value is used as the selection.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
activeTextArea()
方法
public static string activeTextArea(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated text area
Generates a text area input for a model attribute.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
activeTextField()
方法
public static string activeTextField(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated input field
Generates a text field input for a model attribute.
If the attribute has input error, the input field's CSS class will
be appended with errorCss.
addErrorCss()
方法
protected static void addErrorCss(array $htmlOptions)
$htmlOptions
array
HTML options to be modified
Appends errorCss to the 'class' attribute.
ajax()
方法
public static string ajax(array $options)
$options
array
AJAX options. The valid options are specified in the jQuery ajax documentation.
The following special options are added for convenience:
update: string, specifies the selector whose HTML content should be replaced
by the AJAX request result.
replace: string, specifies the selector whose target should be replaced
by the AJAX request result.
Note, if you specify the 'success' option, the above options will be ignored.
{return}
string
the generated JavaScript
Generates the JavaScript that initiates an AJAX request.
ajaxButton()
方法
public static string ajaxButton(string $label, mixed $url, array $ajaxOptions=array (
), array $htmlOptions=array (
))
$label
string
the button label
$url
mixed
the URL for the AJAX request. If empty, it is assumed to be the current URL. See normalizeUrl for more details.
$ajaxOptions
array
AJAX options (see ajax)
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button
Generates a push button that can initiate AJAX requests.
ajaxLink()
方法
public static string ajaxLink(string $text, mixed $url, array $ajaxOptions=array (
), array $htmlOptions=array (
))
$text
string
the link body (it will NOT be HTML-encoded.)
$url
mixed
the URL for the AJAX request. If empty, it is assumed to be the current URL. See normalizeUrl for more details.
$ajaxOptions
array
AJAX options (see ajax)
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated link
Generates a link that can initiate AJAX requests.
ajaxSubmitButton()
方法
public static string ajaxSubmitButton(string $label, mixed $url, array $ajaxOptions=array (
), array $htmlOptions=array (
))
$label
string
the button label
$url
mixed
the URL for the AJAX request. If empty, it is assumed to be the current URL. See normalizeUrl for more details.
$ajaxOptions
array
AJAX options (see ajax)
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button
Generates a push button that can submit the current form in POST method.
asset()
方法
public static string asset(string $path, boolean $hashByName=false)
$path
string
the path of the asset to be published
$hashByName
boolean
whether the published directory should be named as the hashed basename.
If false, the name will be the hashed dirname of the path being published.
Defaults to false. Set true if the path being published is shared among
different extensions.
{return}
string
the asset URL
Generates the URL for the published assets.
beginForm()
方法
(自版本 v1.0.4 可用)
public static string beginForm(mixed $action='', string $method='post', array $htmlOptions=array (
))
$action
mixed
the form action URL (see normalizeUrl for details about this parameter.)
$method
string
form method (e.g. post, get)
$htmlOptions
array
additional HTML attributes (see tag).
{return}
string
the generated form tag.
Generates an opening form tag.
Note, only the open tag is generated. A close tag should be placed manually
at the end of the form.
button()
方法
public static string button(string $label='button', array $htmlOptions=array (
))
$label
string
the button label
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button tag
Generates a button.
cdata()
方法
public static string cdata(string $text)
$text
string
the string to be enclosed
{return}
string
the CDATA tag with the enclosed content.
Encloses the given string within a CDATA tag.
checkBox()
方法
public static string checkBox(string $name, boolean $checked=false, array $htmlOptions=array (
))
$name
string
the input name
$checked
boolean
whether the check box is checked
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated check box
Generates a check box.
checkBoxList()
方法
public static string checkBoxList(string $name, mixed $select, array $data, array $htmlOptions=array (
))
$name
string
name of the check box list. You can use this name to retrieve
the selected value(s) once the form is submitted.
$select
mixed
selection of the check boxes. This can be either a string
for single selection or an array for multiple selections.
$data
array
value-label pairs used to generate the check box list.
Note, the values will be automatically HTML-encoded, while the labels will not.
$htmlOptions
array
addtional HTML options. The options will be applied to
each checkbox input. The following special options are recognized:
template: string, specifies how each checkbox is rendered. Defaults
to "{input} {label}", where "{input}" will be replaced by the generated
check box input tag while "{label}" be replaced by the corresponding check box label.
separator: string, specifies the string that separates the generated check boxes.
checkAll: string, specifies the label for the "check all" checkbox.
If this option is specified, a 'check all' checkbox will be displayed. Clicking on
this checkbox will cause all checkboxes checked or unchecked. This option has been
available since version 1.0.4.
checkAllLast: boolean, specifies whether the 'check all' checkbox should be
displayed at the end of the checkbox list. If this option is not set (default)
or is false, the 'check all' checkbox will be displayed at the beginning of
the checkbox list. This option has been available since version 1.0.4.
labelOptions: array, specifies the additional HTML attributes to be rendered
for every label tag in the list. This option has been available since version 1.0.10.
{return}
string
the generated check box list
Generates a check box list.
A check box list allows multiple selection, like listBox.
As a result, the corresponding POST value is an array.
clientChange()
方法
protected static void clientChange(string $event, array $htmlOptions)
$event
string
event name (without 'on')
$htmlOptions
array
HTML attributes which may contain the following special attributes
specifying the client change behaviors:
submit: string, specifies the URL that the button should submit to. If empty, the current requested URL will be used.
params: array, name-value pairs that should be submitted together with the form. This is only used when 'submit' option is specified.
csrf: boolean, whether a CSRF token should be submitted when CHttpRequest::enableCsrfValidation is true. Defaults to false.
This option has been available since version 1.0.7. You may want to set this to be true if there is no enclosing
form around this element. This option is meaningful only when 'submit' option is set.
return: boolean, the return value of the javascript. Defaults to false, meaning that the execution of
javascript would not cause the default behavior of the event. This option has been available since version 1.0.2.
confirm: string, specifies the message that should show in a pop-up confirmation dialog.
ajax: array, specifies the AJAX options (see ajax).
Generates the JavaScript with the specified client changes.
closeTag()
方法
public static string closeTag(string $tag)
$tag
string
the tag name
{return}
string
the generated HTML element tag
Generates a close HTML element.
css()
方法
public static string css(string $text, string $media='')
$text
string
the CSS content
$media
string
the media that this CSS should apply to.
{return}
string
the CSS properly enclosed
Encloses the given CSS content with a CSS tag.
cssFile()
方法
public static string cssFile(string $url, string $media='')
$url
string
the CSS URL
$media
string
the media that this CSS should apply to.
{return}
string
the CSS link.
Links to the specified CSS file.
dropDownList()
方法
public static string dropDownList(string $name, string $select, array $data, array $htmlOptions=array (
))
$name
string
the input name
$select
string
the selected value
$data
array
data for generating the list options (value=>display).
You may use listData to generate this data.
Please refer to listOptions on how this data is used to generate the list options.
Note, the values and labels will be automatically HTML-encoded by this method.
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are recognized. See clientChange and tag for more details.
In addition, the following options are also supported specifically for dropdown list:
prompt: string, specifies the prompt text shown as the first list option. Its value is empty.
empty: string, specifies the text corresponding to empty selection. Its value is empty.
Starting from version 1.0.10, the 'empty' option can also be an array of value-label pairs.
Each pair will be used to render a list option at the beginning.
options: array, specifies additional attributes for each OPTION tag.
The array keys must be the option values, and the array values are the extra
OPTION tag attributes in the name-value pairs. For example,
array(
'value1'=>array('disabled'=>true, 'label'=>'value 1'),
'value2'=>array('label'=>'value 2'),
);
This option has been available since version 1.0.3.
{return}
string
the generated drop down list
Generates a drop down list.
encode()
方法
public static string encode(string $text)
$text
string
data to be encoded
{return}
string
the encoded data
Encodes special characters into HTML entities.
The application charset will be used for encoding.
encodeArray()
方法
(自版本 v1.0.4 可用)
public static array encodeArray(array $data)
$data
array
data to be encoded
{return}
array
the encoded data
Encodes special characters in an array of strings into HTML entities.
Both the array keys and values will be encoded if needed.
If a value is an array, this method will also encode it recursively.
The application charset will be used for encoding.
endForm()
方法
(自版本 v1.0.4 可用)
public static string endForm()
{return}
string
the generated tag
Generates a closing form tag.
error()
方法
public static string error(CModel $model, string $attribute, array $htmlOptions=array (
))
$model
the data model
$attribute
string
the attribute name
$htmlOptions
array
additional HTML attributes to be rendered in the container div tag.
This parameter has been available since version 1.0.7.
{return}
string
the error display. Empty if no errors are found.
Displays the first validation error for a model attribute.
errorSummary()
方法
public static string errorSummary(mixed $model, string $header=NULL, string $footer=NULL, array $htmlOptions=array (
))
$model
mixed
the models whose input errors are to be displayed. This can be either
a single model or an array of models.
$header
string
a piece of HTML code that appears in front of the errors
$footer
string
a piece of HTML code that appears at the end of the errors
$htmlOptions
array
additional HTML attributes to be rendered in the container div tag.
This parameter has been available since version 1.0.7.
{return}
string
the error summary. Empty if no errors are found.
Displays a summary of validation errors for one or several models.
fileField()
方法
public static string fileField(string $name, string $value='', array $htmlOptions=array (
))
$name
string
the input name
$value
string
the input value
$htmlOptions
array
additional HTML attributes (see tag).
{return}
string
the generated input field
Generates a file input.
Note, you have to set the enclosing form's 'enctype' attribute to be 'multipart/form-data'.
After the form is submitted, the uploaded file information can be obtained via $_FILES[$name] (see
PHP documentation).
form()
方法
public static string form(mixed $action='', string $method='post', array $htmlOptions=array (
))
$action
mixed
the form action URL (see normalizeUrl for details about this parameter.)
$method
string
form method (e.g. post, get)
$htmlOptions
array
additional HTML attributes (see tag).
{return}
string
the generated form tag.
Generates an opening form tag.
This is a shortcut to beginForm.
getActiveId()
方法
public static string getActiveId(CModel $model, string $attribute)
$model
the data model
$attribute
string
the attribute
{return}
string
the element ID for the active field corresponding to the specified model and attribute.
Returns the element ID that is used by methods such as activeTextField.
This method has been deprecated since version 1.0.5. Please use activeId instead.
getIdByName()
方法
public static string getIdByName($name)
$name
{return}
string
the ID generated based on name.
Generates a valid HTML ID based the name.
hiddenField()
方法
public static string hiddenField(string $name, string $value='', array $htmlOptions=array (
))
$name
string
the input name
$value
string
the input value
$htmlOptions
array
additional HTML attributes (see tag).
{return}
string
the generated input field
Generates a hidden input.
htmlButton()
方法
(自版本 v1.0.8 可用)
public static string htmlButton(string $label='button', array $htmlOptions=array (
))
$label
string
the button label. Note that this value will be directly inserted in the button element
without being HTML-encoded.
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button tag
Generates a button using HTML button tag.
This method is similar to button except that it generates a 'button'
tag instead of 'input' tag.
image()
方法
public static string image(string $src, string $alt='', array $htmlOptions=array (
))
$src
string
the image URL
$alt
string
the alternative text display
$htmlOptions
array
additional HTML attributes (see tag).
{return}
string
the generated image tag
Generates an image tag.
imageButton()
方法
public static string imageButton(string $src, array $htmlOptions=array (
))
$src
string
the button label
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button tag
Generates an image submit button.
inputField()
方法
protected static string inputField(string $type, string $name, string $value, array $htmlOptions)
$type
string
the input type (e.g. 'text', 'radio')
$name
string
the input name
$value
string
the input value
$htmlOptions
array
additional HTML attributes for the HTML tag (see tag).
{return}
string
the generated input tag
Generates an input HTML tag.
This method generates an input HTML tag based on the given input name and value.
label()
方法
public static string label(string $label, string $for, array $htmlOptions=array (
))
$label
string
label text. Note, you should HTML-encode the text if needed.
$for
string
the ID of the HTML element that this label is associated with.
If this is false, the 'for' attribute for the label tag will not be rendered (since version 1.0.11).
$htmlOptions
array
additional HTML attributes.
Starting from version 1.0.2, the following HTML option is recognized:
required: if this is set and is true, the label will be styled
with CSS class 'required' (customizable with CHtml::$requiredCss),
and be decorated with CHtml::beforeRequiredLabel and
CHtml::afterRequiredLabel.
{return}
string
the generated label tag
Generates a label tag.
link()
方法
public static string link(string $text, mixed $url='#', array $htmlOptions=array (
))
$text
string
link body. It will NOT be HTML-encoded. Therefore you can pass in HTML code such as an image tag.
$url
mixed
a URL or an action route that can be used to create a URL.
See normalizeUrl for more details about how to specify this parameter.
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated hyperlink
Generates a hyperlink tag.
linkButton()
方法
public static string linkButton(string $label='submit', array $htmlOptions=array (
))
$label
string
the button label
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button tag
Generates a link submit button.
linkTag()
方法
(自版本 v1.0.1 可用)
public static string linkTag(string $relation=NULL, string $type=NULL, string $href=NULL, string $media=NULL, array $options=array (
))
$relation
string
rel attribute of the link tag. If null, the attribute will not be generated.
$type
string
type attribute of the link tag. If null, the attribute will not be generated.
$href
string
href attribute of the link tag. If null, the attribute will not be generated.
$media
string
media attribute of the link tag. If null, the attribute will not be generated.
$options
array
other options in name-value pairs
{return}
string
the generated link tag
Generates a link tag that can be inserted in the head section of HTML page.
Do not confuse this method with link(). The latter generates a hyperlink.
listBox()
方法
public static string listBox(string $name, mixed $select, array $data, array $htmlOptions=array (
))
$name
string
the input name
$select
mixed
the selected value(s). This can be either a string for single selection or an array for multiple selections.
$data
array
data for generating the list options (value=>display)
You may use listData to generate this data.
Please refer to listOptions on how this data is used to generate the list options.
Note, the values and labels will be automatically HTML-encoded by this method.
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized. See clientChange and tag for more details.
In addition, the following options are also supported specifically for list box:
prompt: string, specifies the prompt text shown as the first list option. Its value is empty.
empty: string, specifies the text corresponding to empty selection. Its value is empty.
Starting from version 1.0.10, the 'empty' option can also be an array of value-label pairs.
Each pair will be used to render a list option at the beginning.
options: array, specifies additional attributes for each OPTION tag.
The array keys must be the option values, and the array values are the extra
OPTION tag attributes in the name-value pairs. For example,
array(
'value1'=>array('disabled'=>true, 'label'=>'value 1'),
'value2'=>array('label'=>'value 2'),
);
This option has been available since version 1.0.3.
{return}
string
the generated list box
Generates a list box.
listData()
方法
public static array listData(array $models, string $valueField, string $textField, string $groupField='')
$models
array
a list of model objects. Starting from version 1.0.3, this parameter
can also be an array of associative arrays (e.g. results of CDbCommand::queryAll).
$valueField
string
the attribute name for list option values
$textField
string
the attribute name for list option texts
$groupField
string
the attribute name for list option group names. If empty, no group will be generated.
{return}
array
the list data that can be used in dropDownList and listBox
Generates the data suitable for dropDownList and listBox.
Note, this method does not HTML-encode the generated data. You may call encodeArray to
encode it if needed.
Please refer to the value method on how to specify value field, text field and group field.
listOptions()
方法
public static string listOptions(mixed $selection, array $listData, array $htmlOptions)
$selection
mixed
the selected value(s). This can be either a string for single selection or an array for multiple selections.
$listData
array
the option data (see listData)
$htmlOptions
array
additional HTML attributes. The following two special attributes are recognized:
encode: boolean, specifies whether to encode the values. Defaults to true. This option has been available since version 1.0.5.
prompt: string, specifies the prompt text shown as the first list option. Its value is empty.
empty: string, specifies the text corresponding to empty selection. Its value is empty.
Starting from version 1.0.10, the 'empty' option can also be an array of value-label pairs.
Each pair will be used to render a list option at the beginning.
options: array, specifies additional attributes for each OPTION tag.
The array keys must be the option values, and the array values are the extra
OPTION tag attributes in the name-value pairs. For example,
array(
'value1'=>array('disabled'=>true, 'label'=>'value 1'),
'value2'=>array('label'=>'value 2'),
);
This option has been available since version 1.0.3.
{return}
string
the generated list options
Generates the list options.
mailto()
方法
(自版本 v1.0.1 可用)
public static string mailto(string $text, string $email='', array $htmlOptions=array (
))
$text
string
link body. It will NOT be HTML-encoded. Therefore you can pass in HTML code such as an image tag.
string
email address. If this is empty, the first parameter (link body) will be treated as the email address.
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated mailto link
Generates a mailto link.
metaTag()
方法
(自版本 v1.0.1 可用)
public static string metaTag(string $content, string $name=NULL, string $httpEquiv=NULL, array $options=array (
))
$content
string
content attribute of the meta tag
$name
string
name attribute of the meta tag. If null, the attribute will not be generated
$httpEquiv
string
http-equiv attribute of the meta tag. If null, the attribute will not be generated
$options
array
other options in name-value pairs (e.g. 'scheme', 'lang')
{return}
string
the generated meta tag
Generates a meta tag that can be inserted in the head section of HTML page.
normalizeUrl()
方法
public static void normalizeUrl(mixed $url)
$url
mixed
the parameter to be used to generate a valid URL
Normalizes the input parameter to be a valid URL.
If the input parameter is an empty string, the currently requested URL will be returned.
If the input parameter is a non-empty string, it is treated as a valid URL and will
be returned without any change.
If the input parameter is an array, it is treated as a controller route and a list of
GET parameters, and the CController::createUrl method will be invoked to
create a URL. In this case, the first array element refers to the controller route,
and the rest key-value pairs refer to the additional GET parameters for the URL.
For example, array('post/list', 'page'=>3) may be used to generate the URL
/index.php?r=post/list&page=3.
openTag()
方法
public static string openTag(string $tag, array $htmlOptions=array (
))
$tag
string
the tag name
$htmlOptions
array
the element attributes. The values will be HTML-encoded using encode().
Since version 1.0.5, if an 'encode' attribute is given and its value is false,
the rest of the attribute values will NOT be HTML-encoded.
{return}
string
the generated HTML element tag
Generates an open HTML element.
pageStateField()
方法
public static string pageStateField(string $value)
$value
string
the persistent page states in serialized format
{return}
string
the generated hidden field
Generates a hidden field for storing persistent page states.
This method is internally used by statefulForm.
passwordField()
方法
public static string passwordField(string $name, string $value='', array $htmlOptions=array (
))
$name
string
the input name
$value
string
the input value
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated input field
Generates a password field input.
radioButton()
方法
public static string radioButton(string $name, boolean $checked=false, array $htmlOptions=array (
))
$name
string
the input name
$checked
boolean
whether the check box is checked
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated radio button
Generates a radio button.
radioButtonList()
方法
public static string radioButtonList(string $name, mixed $select, array $data, array $htmlOptions=array (
))
$name
string
name of the radio button list. You can use this name to retrieve
the selected value(s) once the form is submitted.
$select
mixed
selection of the radio buttons. This can be either a string
for single selection or an array for multiple selections.
$data
array
value-label pairs used to generate the radio button list.
Note, the values will be automatically HTML-encoded, while the labels will not.
$htmlOptions
array
addtional HTML options. The options will be applied to
each checkbox input. The following special options are recognized:
template: string, specifies how each checkbox is rendered. Defaults
to "{input} {label}", where "{input}" will be replaced by the generated
radio button input tag while "{label}" be replaced by the corresponding radio button label.
separator: string, specifies the string that separates the generated radio buttons.
labelOptions: array, specifies the additional HTML attributes to be rendered
for every label tag in the list. This option has been available since version 1.0.10.
{return}
string
the generated radio button list
Generates a radio button list.
A radio button list is like a check box list, except that
it only allows single selection.
renderAttributes()
方法
(自版本 v1.0.5 可用)
protected static string renderAttributes(array $htmlOptions)
$htmlOptions
array
attributes to be rendered
{return}
string
the rendering result
Renders the HTML tag attributes.
resetButton()
方法
public static string resetButton(string $label='reset', array $htmlOptions=array (
))
$label
string
the button label
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button tag
Generates a reset button.
resolveName()
方法
(自版本 v1.0.2 可用)
public static string resolveName(CModel $model, string $attribute)
$model
the data model
$attribute
string
the attribute
{return}
string
the input name
Generates input name for a model attribute.
Note, the attribute name may be modified after calling this method if the name
contains square brackets (mainly used in tabular input).
resolveNameID()
方法
public static void resolveNameID(CModel $model, string $attribute, array $htmlOptions)
$model
the data model
$attribute
string
the attribute
$htmlOptions
array
the HTML options
Generates input name and ID for a model attribute.
This method will update the HTML options by setting appropriate 'name' and 'id' attributes.
This method may also modify the attribute name if the name
contains square brackets (mainly used in tabular input).
script()
方法
public static string script(string $text)
$text
string
the JavaScript to be enclosed
{return}
string
the enclosed JavaScript
Encloses the given JavaScript within a script tag.
scriptFile()
方法
public static string scriptFile(string $url)
$url
string
URL for the JavaScript file
{return}
string
the JavaScript file tag
Includes a JavaScript file.
statefulForm()
方法
public static string statefulForm(mixed $action='', string $method='post', array $htmlOptions=array (
))
$action
mixed
the form action URL (see normalizeUrl for details about this parameter.)
$method
string
form method (e.g. post, get)
$htmlOptions
array
additional HTML attributes (see tag).
{return}
string
the generated form tag.
Generates a stateful form tag.
A stateful form tag is similar to form except that it renders an additional
hidden field for storing persistent page states. You should use this method to generate
a form tag if you want to access persistent page states when the form is submitted.
submitButton()
方法
public static string submitButton(string $label='submit', array $htmlOptions=array (
))
$label
string
the button label
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated button tag
Generates a submit button.
tag()
方法
public static string tag(string $tag, array $htmlOptions=array (
), mixed $content=false, boolean $closeTag=true)
$tag
string
the tag name
$htmlOptions
array
the element attributes. The values will be HTML-encoded using encode().
Since version 1.0.5, if an 'encode' attribute is given and its value is false,
the rest of the attribute values will NOT be HTML-encoded.
$content
mixed
the content to be enclosed between open and close element tags. It will not be HTML-encoded.
If false, it means there is no body content.
$closeTag
boolean
whether to generate the close tag.
{return}
string
the generated HTML element tag
Generates an HTML element.
textArea()
方法
public static string textArea(string $name, string $value='', array $htmlOptions=array (
))
$name
string
the input name
$value
string
the input value
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated text area
Generates a text area input.
textField()
方法
public static string textField(string $name, string $value='', array $htmlOptions=array (
))
$name
string
the input name
$value
string
the input value
$htmlOptions
array
additional HTML attributes. Besides normal HTML attributes, a few special
attributes are also recognized (see clientChange and tag for more details.)
{return}
string
the generated input field
Generates a text field input.
value()
方法
(自版本 v1.0.5 可用)
public static mixed value(mixed $model, string $attribute, mixed $defaultValue=NULL)
$model
mixed
the model. This can be either an object or an array.
$attribute
string
the attribute name (use dot to concatenate multiple attributes)
$defaultValue
mixed
the default value to return when the attribute does not exist
{return}
mixed
the attribute value
Evaluates the value of the specified attribute for the given model.
The attribute name can be given in a dot syntax. For example, if the attribute
is "author.firstName", this method will return the value of "$model->author->firstName".
A default value (passed as the last parameter) will be returned if the attribute does
not exist or is broken in the middle (e.g. $model->author is null).
The model can be either an object or an array. If the latter, the attribute is treated
as a key of the array. For the example of "author.firstName", if would mean the array value
"$model['author']['firstName']".