Yii Framework v1.1.10 绫诲弬鑰

CHtml

system.web.helpers
缁ф壙 class CHtml
婧愯嚜 1.0
鐗堟湰 $Id: CHtml.php 3515 2011-12-28 12:29:24Z mdomba $
婧愮爜 framework/web/helpers/CHtml.php
CHtml鏄竴涓潤鎬佺被锛屾彁渚涗簡涓涓敤浜庡垱寤篐TML瑙嗗浘鐨勮緟鍔╂柟娉曘

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
afterRequiredLabel string 鍔犲湪蹇呭~椤规爣绛惧悗闈㈢殑HTML浠g爜銆 CHtml
beforeRequiredLabel string 鍔犲湪蹇呭~椤规爣绛惧墠闈㈢殑HTML浠g爜銆 CHtml
count integer 浜х敓鑷姩杈撳叆鏍忎綅鍚嶇О鐨勮鏁板櫒銆 CHtml
errorCss string 楂樹寒閿欒杈撳嚭鐨凜SS绫汇 濡傛灉鏈夐敊璇緭鍏ョ殑璇濓紝琛ㄥ崟杈撳叆鎺т欢灏嗛檮鍔犱笂杩欎釜CSS绫汇 CHtml
errorMessageCss string 鏄剧ず閿欒娑堟伅鐨凜SS绫汇(璇峰弬闃 error). CHtml
errorSummaryCss string 鏄剧ず閿欒鎽樿鐨凜SS绫汇(璇峰弬闃 errorSummary). CHtml
liveEvents 璁剧疆闄勫姞jQuery鐨勪簨浠跺鐞嗙▼搴忕殑榛樿鏍峰紡銆 CHtml
requiredCss string 蹇呭~椤规爣绛剧殑CSS绫汇傞粯璁や负'required'銆 CHtml

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
activeCheckBox() 涓烘ā鍨嬪睘鎬х敓鎴愪竴涓閫夋銆 CHtml
activeCheckBoxList() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓閫夋鍒楄〃銆 CHtml
activeDropDownList() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓笅鎷夊垪琛ㄣ CHtml
activeFileField() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓枃浠惰緭鍏ユ銆 CHtml
activeHiddenField() 涓烘ā鍨嬪睘鎬х敓鎴愪竴涓殣钘忓煙銆 CHtml
activeId() 涓烘ā鍨嬪睘鎬х敓鎴愪竴涓緭鍏ユ爮鐨処D銆 CHtml
activeLabel() 涓烘ā鍨嬪睘鎬х敓鎴愪竴涓猯abel鏍囩銆 CHtml
activeLabelEx() 涓烘ā鍨嬪睘鎬х敓鎴愪竴涓猯abel鏍囩銆 CHtml
activeListBox() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓垪琛ㄦ銆 CHtml
activeName() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愯緭鍏ユ爮鍚嶇О銆 CHtml
activePasswordField() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓瘑鐮佽緭鍏ユ銆 CHtml
activeRadioButton() 涓烘ā鍨嬪睘鎬х敓鎴愪竴涓崟閫夋寜閽 CHtml
activeRadioButtonList() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓崟閫夋寜閽垪琛ㄣ CHtml
activeTextArea() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓枃鏈銆 CHtml
activeTextField() 涓烘ā鍨嬪睘鎬х敓鎴愪竴涓枃鏈銆 CHtml
ajax() 鐢熸垚鍚姩AJAX璇锋眰鐨凧avaScript銆 CHtml
ajaxButton() 鐢熸垚涓涓彲浠ュ彂璧稟JAX璇锋眰鐨勬寜閽 CHtml
ajaxSubmitButton() 鐢熸垚涓涓彲浠ョ敤POST鏂规硶鎻愪氦褰撳墠琛ㄥ崟鐨勬寜閽 CHtml
asset() 鐢熸垚鍏叡璧勬簮鐨刄RL銆 CHtml
beginForm() 鐢熸垚涓涓〃鍗曠殑寮濮嬫爣绛俱 CHtml
button() 鐢熸垚涓涓寜閽 CHtml
cdata() 灏嗕竴涓粰瀹氱殑瀛楃涓插瘑灏佽繘涓涓狢DATA鏍囩涓 CHtml
checkBox() 鐢熸垚涓涓閫夋銆 CHtml
checkBoxList() 鐢熸垚涓涓閫夋鍒楄〃銆 CHtml
closeTag() 鐢熸垚涓涓狧TML鍏冪礌鐨勭粨鏉熸爣璁 CHtml
css() 灏嗙粰瀹氱殑CSS鍐呭瀵嗗皝鍒颁竴涓狢SS鏍囩涓 CHtml
cssFile() 鐗瑰畾鐨凜SS鏂囦欢鐨勯摼鎺ャ CHtml
decode() 鎶婄壒娈婄殑HTML瀹炰綋瑙g爜涓虹浉瀵瑰簲鐨勫瓧绗︺ CHtml
encode() 鎶婄壒娈婄殑瀛楃缂栫爜涓篐TML瀹炰綋銆 CHtml
encodeArray() 鎶婁竴涓瓧绗︿覆鏁扮粍涓殑鐗规畩瀛楃缂栫爜涓篐TML瀹炰綋銆 CHtml
endForm() 鐢熸垚涓涓〃鍗曠殑缁撴潫鏍囩銆 CHtml
error() 鏄剧ず涓涓ā鍨嬪睘鎬х殑绗竴涓湁鏁堢殑閿欒銆 CHtml
errorSummary() 鏄剧ず涓涓垨澶氫釜妯″瀷鐨勬湁鏁堥敊璇殑鎽樿銆 CHtml
fileField() 鐢熸垚涓涓枃浠惰緭鍏ユ銆 CHtml
form() 鐢熸垚涓涓〃鍗曠殑寮濮嬫爣绛俱 CHtml
getIdByName() 鏍规嵁鍚嶇О鏉ョ敓鎴愪竴涓湁鏁堢殑HTML ID銆 CHtml
hiddenField() 鐢熸垚涓涓殣钘忕殑杈撳叆妗 CHtml
htmlButton() 鐢熸垚涓涓娇鐢℉TML鎸夐挳鏍囩鐨勬寜閽 CHtml
image() 鐢熸垚涓涓浘鐗囨爣绛俱 CHtml
imageButton() 鐢熸垚涓涓浘鐗囨彁浜ゆ寜閽 CHtml
label() 鐢熸垚涓涓猯abel鏍囩 CHtml
linkButton() 鐢熸垚涓涓摼鎺ユ彁浜ゆ寜閽 CHtml
linkTag() 鐢熸垚涓涓猯ink鏍囩锛屽彲浠ユ彃鍏ュ埌HTML椤甸潰鐨勫ご閮ㄩ儴鍒嗐 CHtml
listBox() 鐢熸垚涓涓垪琛ㄦ銆 CHtml
listData() 涓哄垪琛ㄥ瀷HTML鍏冪礌鐢熸垚閫傚綋鐨勬暟鎹 CHtml
listOptions() 鐢熸垚涓涓垪琛ㄩ夐」銆 CHtml
mailto() 鍒涘缓涓涓數瀛愰偖浠堕摼鎺ャ CHtml
metaTag() 鐢熸垚涓涓猰eta鏍囩锛屽彲浠ユ彃鍏ュ埌HTML椤甸潰鐨勫ご閮ㄩ儴鍒嗐 CHtml
normalizeUrl() 閫氳繃鏍囧噯鐨勮緭鍏ユ潵鐢熸垚涓涓湁鏁堢殑URL銆 CHtml
openTag() 鐢熸垚涓涓狧TML鍏冪礌鐨勫紑濮嬫爣绛俱 CHtml
pageStateField() 鐢熸垚涓涓敤浜庡瓨鍌ㄩ〉闈㈡寔涔呯姸鎬佺殑闅愯棌鍩熴 CHtml
passwordField() 鐢熸垚涓涓瘑鐮佽緭鍏ユ銆 CHtml
radioButton() 鐢熸垚涓涓崟閫夋寜閽 CHtml
radioButtonList() 鐢熸垚涓涓崟閫夋寜閽垪琛ㄣ CHtml
refresh() 娉ㄥ唽涓涓滃埛鏂扳漨eta鏍囩銆 CHtml
renderAttributes() 娓叉煋HTML鏍囩灞炴с CHtml
resetButton() 鐢熸垚涓涓噸缃寜閽 CHtml
resolveName() 鐢熸垚涓涓ā鍨嬪睘鎬х殑杈撳叆鍚嶇О CHtml
resolveNameID() 鐢熸垚涓涓ā鍨嬪睘鎬х殑杈撳叆妗嗗悕绉板拰ID銆 CHtml
resolveValue() 璇勪及妯″瀷鐨勫睘鎬у笺 CHtml
script() 灏嗙粰瀹氱殑Javascript瀵嗗皝鍒颁竴涓猻cript鏍囩涓 CHtml
scriptFile() 鍖呭惈涓涓狫avascript鏂囦欢銆 CHtml
statefulForm() 鐢熸垚涓涓湁鐘舵佺殑琛ㄥ崟鏍囩銆 CHtml
submitButton() 鐢熸垚涓涓彁浜ゆ寜閽 CHtml
tag() 鐢熸垚涓涓狧TML鍏冪礌銆 CHtml
textArea() 鐢熸垚涓涓枃鏈銆 CHtml
textField() 鐢熸垚涓涓枃鏈緭鍏ユ銆 CHtml
value() 璇勪及缁欏畾鐨勬ā鍨嬩腑鎸囧畾灞炴х殑鍊笺 CHtml

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
activeInputField() 涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓緭鍏ユ爣绛俱 CHtml
addErrorCss() 娣诲姞errorCss鍒'class'灞炴с CHtml
clientChange() 鐢熸垚JavaScript涓庢寚瀹氱殑瀹㈡埛绔彉鍖栥 CHtml
inputField() 鐢熸垚涓涓猧nput鏍囩銆 CHtml

灞炴ц缁

afterRequiredLabel 灞炴
public static string $afterRequiredLabel;

鍔犲湪蹇呭~椤规爣绛惧悗闈㈢殑HTML浠g爜銆

鍙傝

beforeRequiredLabel 灞炴
public static string $beforeRequiredLabel;

鍔犲湪蹇呭~椤规爣绛惧墠闈㈢殑HTML浠g爜銆

鍙傝

count 灞炴
public static integer $count;

浜х敓鑷姩杈撳叆鏍忎綅鍚嶇О鐨勮鏁板櫒銆

errorCss 灞炴
public static string $errorCss;

楂樹寒閿欒杈撳嚭鐨凜SS绫汇 濡傛灉鏈夐敊璇緭鍏ョ殑璇濓紝琛ㄥ崟杈撳叆鎺т欢灏嗛檮鍔犱笂杩欎釜CSS绫汇

errorMessageCss 灞炴
public static string $errorMessageCss;

鏄剧ず閿欒娑堟伅鐨凜SS绫汇(璇峰弬闃 error).

errorSummaryCss 灞炴
public static string $errorSummaryCss;

鏄剧ず閿欒鎽樿鐨凜SS绫汇(璇峰弬闃 errorSummary).

liveEvents 灞炴 锛堝彲鐢ㄨ嚜 v1.1.9锛
public static $liveEvents;

璁剧疆闄勫姞jQuery鐨勪簨浠跺鐞嗙▼搴忕殑榛樿鏍峰紡銆

濡傛灉璁剧疆涓簍rue锛堥粯璁わ級锛屽垯浣跨敤live/delegated鏍峰紡銆 浜嬩欢澶勭悊绋嬪簭琚檮鍔犲埌body鍚庨潰锛 鏉ュ鐞嗗湪绋嶅悗鐨勬椂闂存坊鍔犲埌body鐨勫瓙鍏冪礌涓婄殑浜嬩欢銆

濡傛灉璁剧疆涓篺alse锛屽垯浣跨敤鐩存帴鐨勬柟寮忋 浜嬩欢澶勭悊绋嬪簭鐩存帴闄勫姞鍒癉OM鍏冪礌涓婇潰锛屽厓绱犲繀椤绘槸宸茬粡鍦ㄩ〉闈笂瀛樺湪鐨勩 鍦ㄦ櫄浜涙椂闂存敞鍏ュ埌椤甸潰鐨勫厓绱犱笉琚鐞嗐

浣犲彲浠ヤ负鏌愪釜鐗瑰畾鐨勫厓绱犺缃甴tmlOption涓璴ive灞炴ф潵瑕嗙洊杩欎釜璁剧疆銆 (璇峰弬闃 clientChange).

鏇村鍏充簬闄勫姞jQuery浜嬩欢澶勭悊绋嬪簭鐨勪俊鎭紝璇峰弬闃http://api.jquery.com/on/

鍙傝

requiredCss 灞炴
public static string $requiredCss;

蹇呭~椤规爣绛剧殑CSS绫汇傞粯璁や负'required'銆

鍙傝

鏂规硶璇︾粏

activeCheckBox() 鏂规硶
public static string activeCheckBox(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 涓涓悕涓'uncheckValue'鐨勯夐」鏄彲鐢ㄧ殑锛 褰撳閫夋娌℃湁琚変腑鏃跺彲浠ヨ繑鍥炶繖涓夐」鐨勫笺傝繖涓奸粯璁や负0銆 鍦ㄥ唴閮紝涓涓殣钘忓煙浼氳娓叉煋锛屼互渚垮綋澶嶉夋娌℃湁琚変腑鏃讹紝 鎴戜滑浠嶇劧鑳借幏鍙栧埌鏈変腑鐨勫笺 濡傛灉'uncheckValue'琚缃负NULL锛岄殣钘忓煙灏嗕笉浼氳娓叉煋銆
{return} string 鐢熸垚鐨勫閫夋
婧愮爜锛 framework/web/helpers/CHtml.php#1342 (鏄剧ず)
public static function activeCheckBox($model,$attribute,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    if(!isset(
$htmlOptions['value']))
        
$htmlOptions['value']=1;
    if(!isset(
$htmlOptions['checked']) && self::resolveValue($model,$attribute)==$htmlOptions['value'])
        
$htmlOptions['checked']='checked';
    
self::clientChange('click',$htmlOptions);

    if(
array_key_exists('uncheckValue',$htmlOptions))
    {
        
$uncheck=$htmlOptions['uncheckValue'];
        unset(
$htmlOptions['uncheckValue']);
    }
    else
        
$uncheck='0';

    
$hiddenOptions=isset($htmlOptions['id']) ? array('id'=>self::ID_PREFIX.$htmlOptions['id']) : array('id'=>false);
    
$hidden=$uncheck!==null self::hiddenField($htmlOptions['name'],$uncheck,$hiddenOptions) : '';

    return 
$hidden self::activeInputField('checkbox',$model,$attribute,$htmlOptions);
}

涓烘ā鍨嬪睘鎬х敓鎴愪竴涓閫夋銆 灞炴ц鍋囧畾鏄痶rue鎴杅alse銆 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫讳細琚檮鍔犱笂errorCss

activeCheckBoxList() 鏂规硶
public static string activeCheckBoxList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$data array 鐢ㄤ簬鐢熸垚澶嶉夋鍒楄〃鐨勫-鏍囩瀵广 娉ㄦ剰锛屽间細琚嚜鍔℉TML缂栫爜锛岃屾爣绛句笉浼氥
$htmlOptions array 闄勫姞鐨凥TML閫夐」銆 閫夐」灏嗕細搴旂敤浜庢瘡涓閫夋銆備笅闈㈡寚瀹氱殑閫夐」鏄璁ゅ彲鐨勶細
  • template: 瀛楃涓诧紝鎸囧畾濡備綍娓叉煋姣忎釜澶嶉夋銆 榛樿涓"{input} {label}"锛 鍏朵腑"{input}"灏嗚鐢熸垚鐨勫閫夋鏍囩鍙栦唬锛 鑰"{label}"浼氭浛鎹负鐩稿簲鐨勫閫夋鏍囩鐨刲abel銆
  • separator: 瀛楃涓诧紝鍒嗛殧鐢熸垚鐨勫閫夋鐨勫瓧绗︿覆銆
  • checkAll: 瀛楃涓诧紝"check all"澶嶉夋鎸囧畾鐨勬爣绛俱 濡傛灉鎸囧畾杩欎釜閫夐」锛屼竴涓'check all'澶嶉夋灏嗕細鏄剧ず銆 鐐瑰嚮杩欎釜澶嶉夋灏嗕細灏嗘墍鏈夌殑澶嶉夋鍏ㄩ夋垨鍏ㄤ笉閫夈
  • checkAllLast: 甯冨皵鍊硷紝鎸囧畾鏄惁鍦ㄧ瓫閫夋鍒楄〃鍚庨潰鏄剧ず涓涓'check all'澶嶉夋銆 濡傛灉娌℃湁璁剧疆杩欎釜閫夐」锛堥粯璁わ級锛 鎴栬呰缃负false锛 'check all'澶嶉夋灏嗕細鏄剧ず鍦ㄥ閫夋鍒楄〃鐨勫墠闈€
  • encode: 甯冨皵鍨嬶紝鎸囧畾鏄惁瀵规爣绛惧睘鎬у拰鍊艰繘琛孒TML缂栫爜锛岄粯璁や负true銆
鑷1.1.7鐗堣捣锛屼竴涓悕绉颁负鈥榰ncheckValue鈥欑殑鐗规畩閫夐」鍙互琚娇鐢紝 杩欎釜鐗规畩閫夐」鐨勫煎湪褰撳崟閫夋寜閽病鏈夎閫変腑鏃惰繑鍥炪 濡傛灉璁剧疆浜嗚繖涓壒娈婇夐」鍊硷紝閭d箞涓涓殣钘忓煙浼氳娓叉煋锛屼互渚垮綋鍗曢夋寜閽病鏈夎閫変腑鏃讹紝鎴戜滑浠嶇劧鍙互鑾峰緱涓涓湭閫変腑鏃剁殑鍊笺 濡傛灉鈥榰ncheckValue鈥欐病鏈夎璁剧疆鎴栬缃负NULL锛岄殣钘忓煙灏嗕笉浼氳娓叉煋銆
{return} string 鐢熸垚鐨勫閫夋鍒楄〃
婧愮爜锛 framework/web/helpers/CHtml.php#1492 (鏄剧ず)
public static function activeCheckBoxList($model,$attribute,$data,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    
$selection=self::resolveValue($model,$attribute);
    if(
$model->hasErrors($attribute))
        
self::addErrorCss($htmlOptions);
    
$name=$htmlOptions['name'];
    unset(
$htmlOptions['name']);

    if(
array_key_exists('uncheckValue',$htmlOptions))
    {
        
$uncheck=$htmlOptions['uncheckValue'];
        unset(
$htmlOptions['uncheckValue']);
    }
    else
        
$uncheck='';

    
$hiddenOptions=isset($htmlOptions['id']) ? array('id'=>self::ID_PREFIX.$htmlOptions['id']) : array('id'=>false);
    
$hidden=$uncheck!==null self::hiddenField($name,$uncheck,$hiddenOptions) : '';

    return 
$hidden self::checkBoxList($name,$selection,$data,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓閫夋鍒楄〃銆 妯″瀷鐨勫睘鎬у肩敤鏉ヤ綔涓洪夐」銆 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫讳細琚檮鍔犱笂errorCss銆 娉ㄦ剰涓涓閫夋鍒楄〃鍏佽澶氶夈傚氨鍍listBox. 缁撴灉锛岀浉搴旂殑POST鍊兼槸涓涓暟缁勩 涓囦竴娌℃湁閫夋嫨鐨勮瘽锛岀浉搴旂殑POST鍊兼槸涓涓┖瀛楃涓层

鍙傝

activeDropDownList() 鏂规硶
public static string activeDropDownList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$data array 鐢熸垚鍒楄〃閫夐」鐨勬暟鎹(鍊=>鏄剧ず) 浣犲彲浠ヤ娇鐢listData鏉ョ敓鎴愯繖涓暟鎹 璇峰弬闃listOptions鏉ヤ簡瑙h繖涓暟鎹浣曠敓鎴愬垪琛ㄦ暟鎹 娉ㄦ剰锛岃繖閲岀殑鍊间釜鏍囩浼氳嚜鍔ㄨ杩欎釜鏂规硶杩涜HTML缂栫爜銆
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 姝ゅ锛屼笅闈㈢殑杩欏睘鎬т篃琚敮鎸侊細
  • encode: 甯冨皵鍊硷紝鏄惁瀵瑰艰繘琛岀紪鐮併傞粯璁や负true銆
  • prompt: 瀛楃涓诧紝鎸囧畾鐨勪綔涓虹涓涓垪琛ㄩ夐」鐨勬彁绀烘枃鏈傚畠鐨勫间负绌恒傛敞鎰忥紝鎻愮ず鏂囨湰涓嶄細琚獺TML缂栫爜銆
  • empty: 瀛楃涓诧紝鎸囧畾绌洪夐」鐨勬枃鏈紝瀹冪殑鍊间负绌恒 'empty'閫夐」涔熷彲浠ユ槸涓涓-鏍囩瀵瑰舰寮忕殑鏁扮粍銆 鍦ㄤ竴寮濮嬫瘡涓閮戒細鐢ㄤ簬娓叉煋涓涓垪琛ㄧ殑閫夐」銆傛敞鎰忥紝鏂囨湰鏍囩涓嶄細琚獺TML缂栫爜銆
  • options: 鏁扮粍锛屼负姣忎釜OPTION鏍囩棰濆鎸囧畾鐨勫睘鎬с 鏁扮粍鐨勯敭鍚嶅繀椤绘槸閫夐」鐨勫硷紝 鏁扮粍鐨勯敭鍊兼槸閫夐」鏍囩鐨勯澶栫殑灞炴э紝鍚嶇О-鍊煎鐨勫舰寮忋備緥濡傦紝
        array(
            'value1'=>array('disabled'=>true, 'label'=>'value 1'),
            'value2'=>array('label'=>'value 2'),
        );
    
{return} string 鐢熸垚鐨勪笅鎷夊垪琛
婧愮爜锛 framework/web/helpers/CHtml.php#1399 (鏄剧ず)
public static function activeDropDownList($model,$attribute,$data,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    
$selection=self::resolveValue($model,$attribute);
    
$options="\n".self::listOptions($selection,$data,$htmlOptions);
    
self::clientChange('change',$htmlOptions);
    if(
$model->hasErrors($attribute))
        
self::addErrorCss($htmlOptions);
    if(isset(
$htmlOptions['multiple']))
    {
        if(
substr($htmlOptions['name'],-2)!=='[]')
            
$htmlOptions['name'].='[]';
    }
    return 
self::tag('select',$htmlOptions,$options);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓笅鎷夊垪琛ㄣ 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫讳細琚檮鍔犱笂errorCss

activeFileField() 鏂规硶
public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 棰濆鐨凥TML灞炴(璇峰弬闃tag).
{return} string 鐢熸垚鐨勬枃浠惰緭鍏ユ
婧愮爜锛 framework/web/helpers/CHtml.php#1273 (鏄剧ず)
public static function activeFileField($model,$attribute,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    
// 娣诲姞涓涓殣钘忓煙锛屼互渚垮綋涓涓ā鍨嬪彧鏈変竴涓枃浠惰緭鍏ユ鏃讹紝
    // 鎴戜滑浠嶅彲浠ヤ娇鐢╥sset($_POST[$modelClass])鏉ュ彂鐜版槸鍚︽湁杈撳叆鎻愪氦
    
$hiddenOptions=isset($htmlOptions['id']) ? array('id'=>self::ID_PREFIX.$htmlOptions['id']) : array('id'=>false);
    return 
self::hiddenField($htmlOptions['name'],'',$hiddenOptions)
        . 
self::activeInputField('file',$model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓枃浠惰緭鍏ユ銆 娉ㄦ剰锛屼綘蹇呴』璁剧疆琛ㄥ崟鐨勨榚nctype鈥欏睘鎬т负鈥榤ultipart/form-data鈥欍 琛ㄥ崟琚彁浜ゅ悗锛屼笂浼犵殑鏂囦欢淇℃伅鍙互閫氳繃$_FILES[$name]鏉ヨ幏寰 (璇峰弬闃 PHP documentation).

鍙傝

activeHiddenField() 鏂规硶
public static string activeHiddenField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 棰濆鐨凥TML灞炴
{return} string 鐢熸垚鐨勯殣钘忓煙
婧愮爜锛 framework/web/helpers/CHtml.php#1216 (鏄剧ず)
public static function activeHiddenField($model,$attribute,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    return 
self::activeInputField('hidden',$model,$attribute,$htmlOptions);
}

涓烘ā鍨嬪睘鎬х敓鎴愪竴涓殣钘忓煙銆

鍙傝

activeId() 鏂规硶
public static string activeId(CModel $model, string $attribute)
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
{return} string 鐢熸垚鐨勮緭鍏ユ爮鐨処D
婧愮爜锛 framework/web/helpers/CHtml.php#1721 (鏄剧ず)
public static function activeId($model,$attribute)
{
    return 
self::getIdByName(self::activeName($model,$attribute));
}

涓烘ā鍨嬪睘鎬х敓鎴愪竴涓緭鍏ユ爮鐨処D銆

activeInputField() 鏂规硶
protected static string activeInputField(string $type, CModel $model, string $attribute, array $htmlOptions)
$type string 杈撳叆绫诲瀷(渚嬪'text', 'radio')
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 杈撳叆鏍囩鐨勯澶栫殑HTML灞炴
{return} string 鐢熸垚鐨勮緭鍏ユ爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#1751 (鏄剧ず)
protected static function activeInputField($type,$model,$attribute,$htmlOptions)
{
    
$htmlOptions['type']=$type;
    if(
$type==='text' || $type==='password')
    {
        if(!isset(
$htmlOptions['maxlength']))
        {
            foreach(
$model->getValidators($attribute) as $validator)
            {
                if(
$validator instanceof CStringValidator && $validator->max!==null)
                {
                    
$htmlOptions['maxlength']=$validator->max;
                    break;
                }
            }
        }
        else if(
$htmlOptions['maxlength']===false)
            unset(
$htmlOptions['maxlength']);
    }

    if(
$type==='file')
        unset(
$htmlOptions['value']);
    else if(!isset(
$htmlOptions['value']))
        
$htmlOptions['value']=self::resolveValue($model,$attribute);
    if(
$model->hasErrors($attribute))
        
self::addErrorCss($htmlOptions);
    return 
self::tag('input',$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓緭鍏ユ爣绛俱 杩欎釜鏂规硶浼氫緷鎹粰瀹氱殑鏁版嵁妯″瀷鍜屽睘鎬ф潵鐢熸垚涓涓緭鍏ユ爣绛俱 濡傛灉灞炴ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫诲皢琚檮鍔犱笂errorCss銆 杩欎釜鍙互楂樹寒閿欒鐨勮緭鍏ャ

activeLabel() 鏂规硶
public static string activeLabel(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 棰濆鐨凥TML灞炴с備笅闈㈡寚瀹氶夐」鏄璁ゅ彲鐨勶細
  • required: 濡傛灉璁剧疆浜嗕笖涓簍rue锛 閭d箞鏍囩灏嗕細璁剧疆涓篊SS绫'required' (鍙敱CHtml::$requiredCss瀹氬埗)锛 鍙互鐢CHtml::beforeRequiredLabelCHtml::afterRequiredLabel鏉ヨ楗般
  • label: 鎸囧畾瑕佹樉绀虹殑鏍囩銆傚鏋滄病鏈夎缃紝 CModel::getAttributeLabel灏嗚璋冪敤鏉ヨ幏鍙栬鐢ㄤ簬鏄剧ず鐨勬爣绛俱 濡傛灉鏍囩琚寚瀹氫负false锛岄偅涔堝皢涓嶄細鏈夋爣绛捐娓叉煋銆
{return} string 鐢熸垚鐨刲abel鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#1145 (鏄剧ず)
public static function activeLabel($model,$attribute,$htmlOptions=array())
{
    if(isset(
$htmlOptions['for']))
    {
        
$for=$htmlOptions['for'];
        unset(
$htmlOptions['for']);
    }
    else
        
$for=self::getIdByName(self::resolveName($model,$attribute));
    if(isset(
$htmlOptions['label']))
    {
        if((
$label=$htmlOptions['label'])===false)
            return 
'';
        unset(
$htmlOptions['label']);
    }
    else
        
$label=$model->getAttributeLabel($attribute);
    if(
$model->hasErrors($attribute))
        
self::addErrorCss($htmlOptions);
    return 
self::label($label,$for,$htmlOptions);
}

涓烘ā鍨嬪睘鎬х敓鎴愪竴涓猯abel鏍囩銆 鏍囩鐨勬枃鏈槸妯″瀷灞炴х殑鏍囩锛 鏍囩鍜宨nput鐨勫睘鎬ф湁鍏(璇峰弬闃CModel::getAttributeLabel銆 濡傛灉灞炴ф湁杈撳叆閿欒锛屾爣绛剧殑CSS绫讳細闄勫姞涓errorCss.

activeLabelEx() 鏂规硶
public static string activeLabelEx(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 棰濆鐨凥TML灞炴
{return} string 鐢熸垚鐨刲abel鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#1181 (鏄剧ず)
public static function activeLabelEx($model,$attribute,$htmlOptions=array())
{
    
$realAttribute=$attribute;
    
self::resolveName($model,$attribute); // strip off square brackets if any
    
$htmlOptions['required']=$model->isAttributeRequired($attribute);
    return 
self::activeLabel($model,$realAttribute,$htmlOptions);
}

涓烘ā鍨嬪睘鎬х敓鎴愪竴涓猯abel鏍囩銆 杩欐槸涓涓姞寮虹増鐨activeLabel銆 褰撳睘鎬ф槸蹇呭~鐨勬椂鍊欙紝瀹冨皢娓叉煋棰濆鐨凜SS绫讳釜鏍囪銆 鐗瑰埆鐨勶紝瀹冭皟鐢CModel::isAttributeRequired鏉ュ喅瀹 灞炴ф槸鍚︿负蹇呭~鐨勩 濡傛灉鏄紝瀹冨皢娣诲姞涓涓狢SS绫CHtml::requiredCss鍒版爣绛句笂锛 鐢CHtml::beforeRequiredLabelCHtml::afterRequiredLabel 鏉ヨ楗版爣绛俱

activeListBox() 鏂规硶
public static string activeListBox(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$data array 鐢熸垚鍒楄〃閫夐」鐨勬暟鎹(鍊=>鏄剧ず) 浣犲彲浠ヤ娇鐢listData鏉ョ敓鎴愯繖涓暟鎹 璇峰弬闃listOptions鏉ヤ簡瑙h繖涓暟鎹浣曠敓鎴愬垪琛ㄦ暟鎹 娉ㄦ剰锛岃繖閲岀殑鍊间釜鏍囩浼氳嚜鍔ㄨ杩欎釜鏂规硶杩涜HTML缂栫爜銆
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 姝ゅ锛屼笅闈㈢殑杩欏睘鎬т篃琚敮鎸侊細
  • encode: 甯冨皵鍊硷紝鏄惁瀵瑰艰繘琛岀紪鐮併傞粯璁や负true銆
  • prompt: 瀛楃涓诧紝鎸囧畾鐨勪綔涓虹涓涓垪琛ㄩ夐」鐨勬彁绀烘枃鏈傚畠鐨勫间负绌恒傛敞鎰忥紝鎻愮ず鏂囨湰涓嶄細琚獺TML缂栫爜銆
  • empty: 瀛楃涓诧紝鎸囧畾绌洪夐」鐨勬枃鏈紝瀹冪殑鍊间负绌恒 'empty'閫夐」涔熷彲浠ユ槸涓涓-鏍囩瀵瑰舰寮忕殑鏁扮粍銆 鍦ㄤ竴寮濮嬫瘡涓閮戒細鐢ㄤ簬娓叉煋涓涓垪琛ㄧ殑閫夐」銆傛敞鎰忥紝鏂囨湰鏍囩涓嶄細琚獺TML缂栫爜銆
  • options: 鏁扮粍锛屼负姣忎釜OPTION鏍囩棰濆鎸囧畾鐨勫睘鎬с 鏁扮粍鐨勯敭鍚嶅繀椤绘槸閫夐」鐨勫硷紝 鏁扮粍鐨勯敭鍊兼槸閫夐」鏍囩鐨勯澶栫殑灞炴э紝鍚嶇О-鍊煎鐨勫舰寮忋備緥濡傦紝
        array(
            'value1'=>array('disabled'=>true, 'label'=>'value 1'),
            'value2'=>array('label'=>'value 2'),
        );
    
{return} string 鐢熸垚鐨勫垪琛ㄦ
婧愮爜锛 framework/web/helpers/CHtml.php#1450 (鏄剧ず)
public static function activeListBox($model,$attribute,$data,$htmlOptions=array())
{
    if(!isset(
$htmlOptions['size']))
        
$htmlOptions['size']=4;
    return 
self::activeDropDownList($model,$attribute,$data,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓垪琛ㄦ銆 妯″瀷鐨勫睘鎬у肩敤鏉ヤ綔涓洪夐」銆 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫讳細琚檮鍔犱笂errorCss

activeName() 鏂规硶
public static string activeName(CModel $model, string $attribute)
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
{return} string 鐢熸垚鐨勮緭鍏ユ爮鍚嶇О
婧愮爜锛 framework/web/helpers/CHtml.php#1733 (鏄剧ず)
public static function activeName($model,$attribute)
{
    
$a=$attribute// because the attribute name may be changed by resolveName
    
return self::resolveName($model,$a);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愯緭鍏ユ爮鍚嶇О銆 涓嶅悓浜resolveName锛岃繖涓柟娉曚笉鐢ㄤ慨鏀瑰睘鎬у悕銆

activePasswordField() 鏂规硶
public static string activePasswordField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勫瘑鐮佽緭鍏ユ
婧愮爜锛 framework/web/helpers/CHtml.php#1234 (鏄剧ず)
public static function activePasswordField($model,$attribute,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    
self::clientChange('change',$htmlOptions);
    return 
self::activeInputField('password',$model,$attribute,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓瘑鐮佽緭鍏ユ銆 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫诲皢浼氳闄勫姞涓errorCss

activeRadioButton() 鏂规硶
public static string activeRadioButton(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 涓涓悕涓'uncheckValue'鐨勯夐」鏄彲鐢ㄧ殑锛 褰撳崟閫夋寜閽病鏈夎閫変腑鏃跺彲浠ヨ繑鍥炶繖涓夐」鐨勫笺傝繖涓奸粯璁や负0銆 鍦ㄥ唴閮紝涓涓殣钘忓煙浼氳娓叉煋锛屼互渚垮綋鍗曢夋寜閽病鏈夎閫変腑鏃讹紝 鎴戜滑浠嶇劧鑳借幏鍙栧埌鏈変腑鐨勫笺 濡傛灉'uncheckValue'琚缃负NULL锛岄殣钘忓煙灏嗕笉浼氳娓叉煋銆
{return} string 鐢熸垚鐨勫崟閫夋寜閽
婧愮爜锛 framework/web/helpers/CHtml.php#1300 (鏄剧ず)
public static function activeRadioButton($model,$attribute,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    if(!isset(
$htmlOptions['value']))
        
$htmlOptions['value']=1;
    if(!isset(
$htmlOptions['checked']) && self::resolveValue($model,$attribute)==$htmlOptions['value'])
        
$htmlOptions['checked']='checked';
    
self::clientChange('click',$htmlOptions);

    if(
array_key_exists('uncheckValue',$htmlOptions))
    {
        
$uncheck=$htmlOptions['uncheckValue'];
        unset(
$htmlOptions['uncheckValue']);
    }
    else
        
$uncheck='0';

    
$hiddenOptions=isset($htmlOptions['id']) ? array('id'=>self::ID_PREFIX.$htmlOptions['id']) : array('id'=>false);
    
$hidden=$uncheck!==null self::hiddenField($htmlOptions['name'],$uncheck,$hiddenOptions) : '';

    
// add a hidden field so that if the radio button is not selected, it still submits a value
    
return $hidden self::activeInputField('radio',$model,$attribute,$htmlOptions);
}

涓烘ā鍨嬪睘鎬х敓鎴愪竴涓崟閫夋寜閽 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫讳細琚檮鍔犱笂errorCss

activeRadioButtonList() 鏂规硶
public static string activeRadioButtonList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$data array 鐢ㄤ簬鐢熸垚鍗曢夋寜閽垪琛ㄧ殑鍊-鏍囩瀵广 娉ㄦ剰锛屽间細琚嚜鍔℉TML缂栫爜锛岃屾爣绛句笉浼氥
$htmlOptions array 闄勫姞鐨凥TML閫夐」銆 閫夐」灏嗕細搴旂敤浜庢瘡涓崟閫夋寜閽備笅闈㈡寚瀹氱殑閫夐」鏄璁ゅ彲鐨勶細
  • template: 瀛楃涓诧紝鎸囧畾濡備綍娓叉煋姣忎釜澶嶉夋銆 榛樿涓"{input} {label}"锛 鍏朵腑"{input}"灏嗚鐢熸垚鐨勫崟閫夋寜閽爣绛惧彇浠o紝 鑰"{label}"浼氭浛鎹负鐩稿簲鐨勫崟閫夋寜閽爣绛剧殑label銆
  • separator: 瀛楃涓诧紝鍒嗛殧鐢熸垚鐨勫崟閫夋寜閽殑瀛楃涓层傞粯璁や负涓涓柊琛岋紙
  • encode: 甯冨皵鍨嬶紝鎸囧畾鏄惁瀵规爣绛惧睘鎬у拰鍊艰繘琛孒TML缂栫爜锛岄粯璁や负true銆
鑷1.1.7鐗堣捣锛屼竴涓悕涓'uncheckValue'鐨勯夐」鍙敤銆 褰撴病鏈夊崟閫夋寜閽閫変腑鏃跺畠杩斿洖涓涓壒瀹氱殑鍊笺傞粯璁や负''銆 鍦ㄥ唴閮紝涓涓殣钘忓煙浼氳娓叉煋锛屽綋娌℃湁鍗曢夋寜閽閫変腑鏃讹紝鎴戜滑浠嶇劧鍙互鑾峰彇涓涓狿OST鍊笺 濡傛灉'uncheckValue'璁剧疆涓篘ULL锛岄殣钘忓煙灏嗕笉浼氳娓叉煋銆
{return} string 鐢熸垚鐨勫崟閫夋寜閽垪琛
婧愮爜锛 framework/web/helpers/CHtml.php#1540 (鏄剧ず)
public static function activeRadioButtonList($model,$attribute,$data,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    
$selection=self::resolveValue($model,$attribute);
    if(
$model->hasErrors($attribute))
        
self::addErrorCss($htmlOptions);
    
$name=$htmlOptions['name'];
    unset(
$htmlOptions['name']);

    if(
array_key_exists('uncheckValue',$htmlOptions))
    {
        
$uncheck=$htmlOptions['uncheckValue'];
        unset(
$htmlOptions['uncheckValue']);
    }
    else
        
$uncheck='';

    
$hiddenOptions=isset($htmlOptions['id']) ? array('id'=>self::ID_PREFIX.$htmlOptions['id']) : array('id'=>false);
    
$hidden=$uncheck!==null self::hiddenField($name,$uncheck,$hiddenOptions) : '';

    return 
$hidden self::radioButtonList($name,$selection,$data,$htmlOptions);
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓崟閫夋寜閽垪琛ㄣ 妯″瀷鐨勫睘鎬у肩敤鏉ヤ綔涓洪夐」銆 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫讳細琚檮鍔犱笂errorCss

鍙傝

activeTextArea() 鏂规硶
public static string activeTextArea(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬枃鏈
婧愮爜锛 framework/web/helpers/CHtml.php#1252 (鏄剧ず)
public static function activeTextArea($model,$attribute,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    
self::clientChange('change',$htmlOptions);
    if(
$model->hasErrors($attribute))
        
self::addErrorCss($htmlOptions);
    
$text=self::resolveValue($model,$attribute);
    return 
self::tag('textarea',$htmlOptions,isset($htmlOptions['encode']) && !$htmlOptions['encode'] ? $text self::encode($text));
}

涓轰竴涓ā鍨嬪睘鎬х敓鎴愪竴涓枃鏈銆 濡傛灉璇ュ睘鎬ф湁杈撳叆閿欒锛 杈撳叆鏍忕殑CSS绫讳細琚檮鍔犱笂errorCss

鍙傝

activeTextField() 鏂规硶
public static string activeTextField(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬枃鏈
婧愮爜锛 framework/web/helpers/CHtml.php#1201 (鏄剧ず)
public static function activeTextField($model,$attribute,$htmlOptions=array())
{
    
self::resolveNameID($model,$attribute,$htmlOptions);
    
self::clientChange('change',$htmlOptions);
    return 
self::activeInputField('text',$model,$attribute,$htmlOptions);
}

涓烘ā鍨嬪睘鎬х敓鎴愪竴涓枃鏈銆 濡傛灉灞炴ф湁杈撳叆閿欒锛 杈撳叆妗嗙殑CSS绫诲皢浼氶檮鍔犱笂errorCss.

addErrorCss() 鏂规硶
protected static void addErrorCss(array &$htmlOptions)
$htmlOptions array 瑕佽淇敼鐨凥TML閫夐」
婧愮爜锛 framework/web/helpers/CHtml.php#2051 (鏄剧ず)
protected static function addErrorCss(&$htmlOptions)
{
    if(isset(
$htmlOptions['class']))
        
$htmlOptions['class'].=' '.self::$errorCss;
    else
        
$htmlOptions['class']=self::$errorCss;
}

娣诲姞errorCss鍒'class'灞炴с

ajax() 鏂规硶
public static string ajax(array $options)
$options array AJAX閫夐」銆俲Query鐨凙JAX鏂囨。涓寚瀹氫簡鏈夋晥鐨勯夐」銆 涓轰簡鏂逛究璧疯锛屼笅闈㈡寚瀹氱殑閫夐」琚坊鍔狅細
  • update: 瀛楃涓诧紝鎸囧畾鐨勯夋嫨鍣紝 瀹冪殑HTML鍐呭灏嗕細琚獳JAX鐨勮姹傜粨鏋滄墍浠f浛銆
  • replace: 瀛楃涓诧紝鎸囧畾鐨勯夋嫨鍣紝 浼氳AJAX鐨勮姹傜粨鏋滄墍浠f浛銆
娉ㄦ剰锛屽鏋滀綘鎸囧畾浜'success'閫夐」锛岄偅涔堜笂闈㈢殑璁剧疆浼氳蹇界暐銆
{return} string 鐢熸垚鐨凧avaScript
婧愮爜锛 framework/web/helpers/CHtml.php#1025 (鏄剧ず)
public static function ajax($options)
{
    
Yii::app()->getClientScript()->registerCoreScript('jquery');
    if(!isset(
$options['url']))
        
$options['url']='js:location.href';
    else
        
$options['url']=self::normalizeUrl($options['url']);
    if(!isset(
$options['cache']))
        
$options['cache']=false;
    if(!isset(
$options['data']) && isset($options['type']))
        
$options['data']='js:jQuery(this).parents("form").serialize()';
    foreach(array(
'beforeSend','complete','error','success') as $name)
    {
        if(isset(
$options[$name]) && strpos($options[$name],'js:')!==0)
            
$options[$name]='js:'.$options[$name];
    }
    if(isset(
$options['update']))
    {
        if(!isset(
$options['success']))
            
$options['success']='js:function(html){jQuery("'.$options['update'].'").html(html)}';
        unset(
$options['update']);
    }
    if(isset(
$options['replace']))
    {
        if(!isset(
$options['success']))
            
$options['success']='js:function(html){jQuery("'.$options['replace'].'").replaceWith(html)}';
        unset(
$options['replace']);
    }
    return 
'jQuery.ajax('.CJavaScript::encode($options).');';
}

鐢熸垚鍚姩AJAX璇锋眰鐨凧avaScript銆

ajaxButton() 鏂规硶
public static string ajaxButton(string $label, mixed $url, array $ajaxOptions=array ( ), array $htmlOptions=array ( ))
$label string 鎸夐挳鐨勬爣绛
$url mixed AJAX璇锋眰鐨刄RL銆傚鏋滄槸绌猴紝閭e氨鍋囧畾涓哄綋鍓嶇殑URL銆傛洿澶氳缁嗘儏鍐佃鍙傝normalizeUrl
$ajaxOptions array AJAX options (see ajax)
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽
婧愮爜锛 framework/web/helpers/CHtml.php#988 (鏄剧ず)
public static function ajaxButton($label,$url,$ajaxOptions=array(),$htmlOptions=array())
{
    
$ajaxOptions['url']=$url;
    
$htmlOptions['ajax']=$ajaxOptions;
    return 
self::button($label,$htmlOptions);
}

鐢熸垚涓涓彲浠ュ彂璧稟JAX璇锋眰鐨勬寜閽

public static string ajaxLink(string $text, mixed $url, array $ajaxOptions=array ( ), array $htmlOptions=array ( ))
$text string 閾炬帴涓讳綋锛堜笉浼氳HTML缂栫爜锛
$url mixed AJAX璇锋眰鐨刄RL銆傚鏋滄槸绌猴紝閭e氨鍋囧畾涓哄綋鍓嶇殑URL銆傛洿澶氳缁嗕俊鎭鍙傝normalizeUrl
$ajaxOptions array AJAX閫夐」 (璇峰弬闃ajax)
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勯摼鎺
婧愮爜锛 framework/web/helpers/CHtml.php#969 (鏄剧ず)
public static function ajaxLink($text,$url,$ajaxOptions=array(),$htmlOptions=array())
{
    if(!isset(
$htmlOptions['href']))
        
$htmlOptions['href']='#';
    
$ajaxOptions['url']=$url;
    
$htmlOptions['ajax']=$ajaxOptions;
    
self::clientChange('click',$htmlOptions);
    return 
self::tag('a',$htmlOptions,$text);
}

鐢熸垚涓涓彲浠ュ彂璧稟JAX璇锋眰鐨勯摼鎺ャ

鍙傝

ajaxSubmitButton() 鏂规硶
public static string ajaxSubmitButton(string $label, mixed $url, array $ajaxOptions=array ( ), array $htmlOptions=array ( ))
$label string 鎸夐挳鐨勬爣绛
$url mixed AJAX璇锋眰鐨刄RL銆傚鏋滄槸绌猴紝閭e氨鍋囧畾涓哄綋鍓嶇殑URL銆傛洿澶氳缁嗕俊鎭鍙傝normalizeUrl
$ajaxOptions array AJAX閫夐」(璇峰弬闃ajax)
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽
婧愮爜锛 framework/web/helpers/CHtml.php#1004 (鏄剧ず)
public static function ajaxSubmitButton($label,$url,$ajaxOptions=array(),$htmlOptions=array())
{
    
$ajaxOptions['type']='POST';
    
$htmlOptions['type']='submit';
    return 
self::ajaxButton($label,$url,$ajaxOptions,$htmlOptions);
}

鐢熸垚涓涓彲浠ョ敤POST鏂规硶鎻愪氦褰撳墠琛ㄥ崟鐨勬寜閽

asset() 鏂规硶
public static string asset(string $path, boolean $hashByName=false)
$path string 鍙戝竷鐨勮祫婧愯矾寰
$hashByName boolean 鍏竷鐨勭洰褰曟槸鍚﹀簲璇ヨ鍛藉悕涓哄搱甯屾枃妗e悕銆 濡傛灉涓篺alse锛岃鍚嶇О灏嗘槸鍙戝竷璺緞鐨勫搱甯岀洰褰曞悕銆 榛樿涓篺alse銆 濡傛灉鎯冲湪涓嶅悓鎵╁睍涔嬮棿鍏变韩鍙戝竷璺緞锛岄偅涔堝氨璁剧疆涓簍rue銆
{return} string 鍏叡璧勬簮鐨刄RL
婧愮爜锛 framework/web/helpers/CHtml.php#1065 (鏄剧ず)
public static function asset($path,$hashByName=false)
{
    return 
Yii::app()->getAssetManager()->publish($path,$hashByName);
}

鐢熸垚鍏叡璧勬簮鐨刄RL銆

beginForm() 鏂规硶
public static string beginForm(mixed $action='', string $method='post', array $htmlOptions=array ( ))
$action mixed 琛ㄥ崟鐨刟ction閾炬帴(鍏充簬杩欎釜鍙傛暟璇﹁normalizeUrl銆)
$method string 琛ㄥ崟鏂规硶(渚嬪 post, get)
$htmlOptions array 闄勫姞鐨凥TML灞炴(璇峰弬闃tag)銆
{return} string 鐢熸垚鐨勮〃鍗曟爣绛俱
婧愮爜锛 framework/web/helpers/CHtml.php#308 (鏄剧ず)
public static function beginForm($action='',$method='post',$htmlOptions=array())
{
    
$htmlOptions['action']=$url=self::normalizeUrl($action);
    
$htmlOptions['method']=$method;
    
$form=self::tag('form',$htmlOptions,false,false);
    
$hiddens=array();
    if(!
strcasecmp($method,'get') && ($pos=strpos($url,'?'))!==false)
    {
        foreach(
explode('&',substr($url,$pos+1)) as $pair)
        {
            if((
$pos=strpos($pair,'='))!==false)
                
$hiddens[]=self::hiddenField(urldecode(substr($pair,0,$pos)),urldecode(substr($pair,$pos+1)),array('id'=>false));
        }
    }
    
$request=Yii::app()->request;
    if(
$request->enableCsrfValidation && !strcasecmp($method,'post'))
        
$hiddens[]=self::hiddenField($request->csrfTokenName,$request->getCsrfToken(),array('id'=>false));
    if(
$hiddens!==array())
        
$form.="\n".self::tag('div',array('style'=>'display:none'),implode("\n",$hiddens));
    return 
$form;
}

鐢熸垚涓涓〃鍗曠殑寮濮嬫爣绛俱 娉ㄦ剰锛屼粎鐢熸垚琛ㄥ崟鐨勫紑濮嬫爣绛俱 闂悎鐨勬爣绛惧簲璇ュ湪琛ㄥ崟鏈熬鎵嬪姩娣诲姞銆

鍙傝

button() 鏂规硶
public static string button(string $label='button', array $htmlOptions=array ( ))
$label string 鎸夐挳鐨勬爣绛
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#424 (鏄剧ず)
public static function button($label='button',$htmlOptions=array())
{
    if(!isset(
$htmlOptions['name']))
    {
        if(!
array_key_exists('name',$htmlOptions))
            
$htmlOptions['name']=self::ID_PREFIX.self::$count++;
    }
    if(!isset(
$htmlOptions['type']))
        
$htmlOptions['type']='button';
    if(!isset(
$htmlOptions['value']))
        
$htmlOptions['value']=$label;
    
self::clientChange('click',$htmlOptions);
    return 
self::tag('input',$htmlOptions);
}

鐢熸垚涓涓寜閽

鍙傝

cdata() 鏂规硶
public static string cdata(string $text)
$text string 瑕佽瀵嗗皝鐨勫瓧绗︿覆
{return} string 鍚湁瀵嗗皝鍐呭鐨凜DATA鏍囩銆
婧愮爜锛 framework/web/helpers/CHtml.php#176 (鏄剧ず)
public static function cdata($text)
{
    return 
'<![CDATA[' $text ']]>';
}

灏嗕竴涓粰瀹氱殑瀛楃涓插瘑灏佽繘涓涓狢DATA鏍囩涓

checkBox() 鏂规硶
public static string checkBox(string $name, boolean $checked=false, array $htmlOptions=array ( ))
$name string 澶嶉夋鐨勫悕绉
$checked boolean 澶嶉夋鏄惁涓鸿閫変腑鐘舵
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 鑷1.1.2鐗堣捣锛屼竴涓悕绉颁负鈥榰ncheckValue鈥欑殑鐗规畩閫夐」鍙互琚娇鐢紝 杩欎釜鐗规畩閫夐」鐨勫煎湪褰撳閫夋娌¤閫変腑鏃惰繑鍥炪 濡傛灉璁剧疆浜嗚繖涓壒娈婇夐」鍊硷紝閭d箞涓涓殣钘忓煙浼氳娓叉煋锛屼互渚垮綋澶嶉夋娌℃湁琚変腑鏃讹紝鎴戜滑浠嶇劧鍙互鑾峰緱涓涓湭閫変腑鏃剁殑鍊笺 濡傛灉鈥榰ncheckValue鈥欐病鏈夎璁剧疆鎴栬缃负NULL锛岄殣钘忓煙灏嗕笉浼氳娓叉煋銆
{return} string 鐢熸垚鐨勫閫夋
婧愮爜锛 framework/web/helpers/CHtml.php#697 (鏄剧ず)
public static function checkBox($name,$checked=false,$htmlOptions=array())
{
    if(
$checked)
        
$htmlOptions['checked']='checked';
    else
        unset(
$htmlOptions['checked']);
    
$value=isset($htmlOptions['value']) ? $htmlOptions['value'] : 1;
    
self::clientChange('click',$htmlOptions);

    if(
array_key_exists('uncheckValue',$htmlOptions))
    {
        
$uncheck=$htmlOptions['uncheckValue'];
        unset(
$htmlOptions['uncheckValue']);
    }
    else
        
$uncheck=null;

    if(
$uncheck!==null)
    {
        
// 娣诲姞涓涓殣钘忓煙锛屼互渚垮綋澶嶉夋娌℃湁琚変腑鏃讹紝浠嶇劧浼氭彁浜や竴涓
        
if(isset($htmlOptions['id']) && $htmlOptions['id']!==false)
            
$uncheckOptions=array('id'=>self::ID_PREFIX.$htmlOptions['id']);
        else
            
$uncheckOptions=array('id'=>false);
        
$hidden=self::hiddenField($name,$uncheck,$uncheckOptions);
    }
    else
        
$hidden='';

    
// 娣诲姞涓涓殣钘忓煙锛屼互渚垮綋澶嶉夋娌℃湁琚変腑鏃讹紝浠嶇劧浼氭彁浜や竴涓
    
return $hidden self::inputField('checkbox',$name,$value,$htmlOptions);
}

鐢熸垚涓涓閫夋銆

checkBoxList() 鏂规硶
public static string checkBoxList(string $name, mixed $select, array $data, array $htmlOptions=array ( ))
$name string 澶嶉夋鍒楄〃鐨勫悕绉般 涓鏃﹁〃鍗曡鎻愪氦锛屼綘鍙互灏辫繖涓悕绉版潵鑾峰彇閫変腑鐨勫笺
$select mixed 澶嶉夋鍒楄〃鐨勯変腑椤广 杩欎釜鍙互鏄竴涓崟鐙殑琚変腑椤圭殑瀛楃涓诧紝涔熷彲浠ユ槸澶氫釜閫変腑椤圭殑鏁扮粍銆
$data array 鐢ㄤ簬鐢熸垚澶嶉夋鍒楄〃鐨勫-鏍囩瀵广 娉ㄦ剰锛屽煎皢鑷姩琚獺TML缂栫爜锛岀劧鑰屾爣绛句笉浼氥
$htmlOptions array 闄勫姞鐨凥TML閫夐」銆 閫夐」灏嗕細搴旂敤浜庢瘡涓閫夋涓婏紝涓嬮潰杩欎簺鐗瑰畾鐨勯夐」鏄璁ゅ彲鐨勶細
  • template: 瀛楃涓诧紝鎸囧畾濡備綍娓叉煋姣忎釜澶嶉夋銆 榛樿涓"{input} {label}"锛 鍏朵腑"{input}"灏嗚鐢熸垚鐨勫閫夋鏍囩鍙栦唬锛 鑰"{label}"浼氭浛鎹负鐩稿簲鐨勫閫夋鏍囩鐨刲abel銆
  • separator: 瀛楃涓诧紝鍒嗛殧鐢熸垚鐨勫閫夋鐨勫瓧绗︿覆銆
  • checkAll: 瀛楃涓诧紝"check all"澶嶉夋鎸囧畾鐨勬爣绛俱 濡傛灉鎸囧畾杩欎釜閫夐」锛屼竴涓'check all'澶嶉夋灏嗕細鏄剧ず銆 鐐瑰嚮杩欎釜澶嶉夋灏嗕細灏嗘墍鏈夌殑澶嶉夋鍏ㄩ夋垨鍏ㄤ笉閫夈
  • checkAllLast: 甯冨皵鍊硷紝鎸囧畾鏄惁鍦ㄧ瓫閫夋鍒楄〃鍚庨潰鏄剧ず涓涓'check all'澶嶉夋銆 濡傛灉娌℃湁璁剧疆杩欎釜閫夐」锛堥粯璁わ級锛 鎴栬呰缃负false锛 'check all'澶嶉夋灏嗕細鏄剧ず鍦ㄥ閫夋鍒楄〃鐨勫墠闈€
  • labelOptions: 鏁扮粍锛 鎸囧畾涓哄垪琛ㄤ腑鐨勬瘡涓爣绛炬覆鏌撶殑闄勫姞鐨凥TML灞炴с
{return} string 鐢熸垚鐨勫閫夋鍒楄〃
婧愮爜锛 framework/web/helpers/CHtml.php#849 (鏄剧ず)
public static function checkBoxList($name,$select,$data,$htmlOptions=array())
{
    
$template=isset($htmlOptions['template'])?$htmlOptions['template']:'{input} {label}';
    
$separator=isset($htmlOptions['separator'])?$htmlOptions['separator']:"<br/>\n";
    unset(
$htmlOptions['template'],$htmlOptions['separator']);

    if(
substr($name,-2)!=='[]')
        
$name.='[]';

    if(isset(
$htmlOptions['checkAll']))
    {
        
$checkAllLabel=$htmlOptions['checkAll'];
        
$checkAllLast=isset($htmlOptions['checkAllLast']) && $htmlOptions['checkAllLast'];
    }
    unset(
$htmlOptions['checkAll'],$htmlOptions['checkAllLast']);

    
$labelOptions=isset($htmlOptions['labelOptions'])?$htmlOptions['labelOptions']:array();
    unset(
$htmlOptions['labelOptions']);

    
$items=array();
    
$baseID=self::getIdByName($name);
    
$id=0;
    
$checkAll=true;

    foreach(
$data as $value=>$label)
    {
        
$checked=!is_array($select) && !strcmp($value,$select) || is_array($select) && in_array($value,$select);
        
$checkAll=$checkAll && $checked;
        
$htmlOptions['value']=$value;
        
$htmlOptions['id']=$baseID.'_'.$id++;
        
$option=self::checkBox($name,$checked,$htmlOptions);
        
$label=self::label($label,$htmlOptions['id'],$labelOptions);
        
$items[]=strtr($template,array('{input}'=>$option,'{label}'=>$label));
    }

    if(isset(
$checkAllLabel))
    {
        
$htmlOptions['value']=1;
        
$htmlOptions['id']=$id=$baseID.'_all';
        
$option=self::checkBox($id,$checkAll,$htmlOptions);
        
$label=self::label($checkAllLabel,$id,$labelOptions);
        
$item=strtr($template,array('{input}'=>$option,'{label}'=>$label));
        if(
$checkAllLast)
            
$items[]=$item;
        else
            
array_unshift($items,$item);
        
$name=strtr($name,array('['=>'\\[',']'=>'\\]'));
        
$js=<<<EOD
$('#$id').click(function() {
$("input[name='
$name']").prop('checked', this.checked);
});
$("input[name='
$name']").click(function() {
$('#
$id').prop('checked', !$("input[name='$name']:not(:checked)").length);
});
$('#
$id').prop('checked', !$("input[name='$name']:not(:checked)").length);
EOD;
        
$cs=Yii::app()->getClientScript();
        
$cs->registerCoreScript('jquery');
        
$cs->registerScript($id,$js);
    }

    return 
self::tag('span',array('id'=>$baseID),implode($separator,$items));
}

鐢熸垚涓涓閫夋鍒楄〃銆 涓涓厑璁稿閫夌殑澶嶉夋鍒楄〃锛屾瘮濡listBox. 浣滀负涓涓粨鏋滐紝鐩稿鐨凱OST鍊兼槸涓涓暟缁勩

clientChange() 鏂规硶
protected static void clientChange(string $event, array &$htmlOptions)
$event string 浜嬩欢鍚(涓嶅甫'on')
$htmlOptions array HTML灞炴э紝鍙兘鍖呭惈浠ヤ笅 鐗规畩灞炴ф潵鎸囧畾瀹㈡埛绔敼鍙樿涓猴細
  • submit: 瀛楃涓诧紝鎸囧畾璇ユ寜閽簲璇ユ彁浜ょ殑URL銆傚鏋滀负绌猴紝褰撳墠璇锋眰鐨刄RL灏嗚浣跨敤銆
  • params: 鏁扮粍锛屽悕绉-鍊煎鐨勫舰寮忥紝搴旇鍜岃〃鍗曚竴璧锋彁浜ゃ傝繖浠呯敤浜'submit'閫夐」琚寚瀹氱殑鏃跺欍
  • csrf: 甯冨皵鍊硷紝褰CHttpRequest::enableCsrfValidation涓簍rue鏃讹紝鏄惁鎻愪氦涓涓狢SRF浠ょ墝銆傞粯璁や负false銆 褰撳厓绱犲懆鍥存病鏈夎〃鍗曟椂锛屼綘鍙兘浼氳缃繖涓负true銆 杩欎釜閫夐」浠呭綋'sumit'閫夐」璁剧疆鏃舵墠鏈夋剰涔夈
  • return: 甯冨皵鍊硷紝杩斿洖鍊兼槸javascript銆傞粯璁や负false锛 鎰忓懗鐫javascript鐨勭粨鏋滃皢涓嶈兘寮曡捣浜嬩欢鐨勯粯璁よ涓恒
  • confirm: 瀛楃涓诧紝鎸囧畾鏄剧ず鍦ㄥ脊鍑虹殑瀵硅瘽妗嗕腑鐨勪俊鎭
  • ajax: 鏁扮粍锛屾寚瀹氱殑AJAX閫夐」(璇峰弬闃ajax)銆
  • live: 甯冨皵鍊硷紝浜嬩欢澶勭悊绋嬪簭搴旇闄勫姞live/delegate鏍峰紡杩樻槸鐢ㄧ洿鎺ョ殑鏍峰紡銆傚鏋滄病鏈夎缃紝liveEvents灏嗕細琚娇鐢紝杩欎釜閫夐」鑷1.1.6鐗堝彲鐢ㄣ
杩欎釜鍙傛暟鑷1.1.1鐗堝氨宸茬粡鍙敤銆
婧愮爜锛 framework/web/helpers/CHtml.php#1893 (鏄剧ず)
protected static function clientChange($event,&$htmlOptions)
{
    if(!isset(
$htmlOptions['submit']) && !isset($htmlOptions['confirm']) && !isset($htmlOptions['ajax']))
        return;

    if(isset(
$htmlOptions['live']))
    {
        
$live=$htmlOptions['live'];
        unset(
$htmlOptions['live']);
    }
    else
        
$live self::$liveEvents;

    if(isset(
$htmlOptions['return']) && $htmlOptions['return'])
        
$return='return true';
    else
        
$return='return false';

    if(isset(
$htmlOptions['on'.$event]))
    {
        
$handler=trim($htmlOptions['on'.$event],';').';';
        unset(
$htmlOptions['on'.$event]);
    }
    else
        
$handler='';

    if(isset(
$htmlOptions['id']))
        
$id=$htmlOptions['id'];
    else
        
$id=$htmlOptions['id']=isset($htmlOptions['name'])?$htmlOptions['name']:self::ID_PREFIX.self::$count++;

    
$cs=Yii::app()->getClientScript();
    
$cs->registerCoreScript('jquery');

    if(isset(
$htmlOptions['submit']))
    {
        
$cs->registerCoreScript('yii');
        
$request=Yii::app()->getRequest();
        if(
$request->enableCsrfValidation && isset($htmlOptions['csrf']) && $htmlOptions['csrf'])
            
$htmlOptions['params'][$request->csrfTokenName]=$request->getCsrfToken();
        if(isset(
$htmlOptions['params']))
            
$params=CJavaScript::encode($htmlOptions['params']);
        else
            
$params='{}';
        if(
$htmlOptions['submit']!=='')
            
$url=CJavaScript::quote(self::normalizeUrl($htmlOptions['submit']));
        else
            
$url='';
        
$handler.="jQuery.yii.submitForm(this,'$url',$params);{$return};";
    }

    if(isset(
$htmlOptions['ajax']))
        
$handler.=self::ajax($htmlOptions['ajax'])."{$return};";

    if(isset(
$htmlOptions['confirm']))
    {
        
$confirm='confirm(\''.CJavaScript::quote($htmlOptions['confirm']).'\')';
        if(
$handler!=='')
            
$handler="if($confirm) {".$handler."} else return false;";
        else
            
$handler="return $confirm;";
    }

    if(
$live)
        
$cs->registerScript('Yii.CHtml.#' $id"$('body').on('$event','#$id',function(){{$handler}});");
    else
        
$cs->registerScript('Yii.CHtml.#' $id"$('#$id').on('$event', function(){{$handler}});");
    unset(
$htmlOptions['params'],$htmlOptions['submit'],$htmlOptions['ajax'],$htmlOptions['confirm'],$htmlOptions['return'],$htmlOptions['csrf']);
}

鐢熸垚JavaScript涓庢寚瀹氱殑瀹㈡埛绔彉鍖栥

closeTag() 鏂规硶
public static string closeTag(string $tag)
$tag string 鏍囩鍚
{return} string 鐢熸垚鐨凥TML鍏冪礌鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#166 (鏄剧ず)
public static function closeTag($tag)
{
    return 
'</'.$tag.'>';
}

鐢熸垚涓涓狧TML鍏冪礌鐨勭粨鏉熸爣璁

css() 鏂规硶
public static string css(string $text, string $media='')
$text string CSS鍐呭
$media string 杩欎釜CSS閫傜敤浜庣殑media銆
{return} string 瀵嗗皝濂界殑CSS
婧愮爜锛 framework/web/helpers/CHtml.php#228 (鏄剧ず)
public static function css($text,$media='')
{
    if(
$media!=='')
        
$media=' media="'.$media.'"';
    return 
"<style type=\"text/css\"{$media}>\n/*<![CDATA[*/\n{$text}\n/*]]>*/\n</style>";
}

灏嗙粰瀹氱殑CSS鍐呭瀵嗗皝鍒颁竴涓狢SS鏍囩涓

cssFile() 鏂规硶
public static string cssFile(string $url, string $media='')
$url string CSS鐨刄RL
$media string CSS搴旂敤鐨刴edia銆
{return} string CSS閾炬帴
婧愮爜锛 framework/web/helpers/CHtml.php#258 (鏄剧ず)
public static function cssFile($url,$media='')
{
    if(
$media!=='')
        
$media=' media="'.$media.'"';
    return 
'<link rel="stylesheet" type="text/css" href="'.self::encode($url).'"'.$media.' />';
}

鐗瑰畾鐨凜SS鏂囦欢鐨勯摼鎺ャ

decode() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.8锛
public static string decode(string $text)
$text string 瑕佽瑙g爜鐨勬暟鎹
{return} string 瑙g爜鍚庣殑鏁版嵁
婧愮爜锛 framework/web/helpers/CHtml.php#96 (鏄剧ず)
public static function decode($text)
{
    return 
htmlspecialchars_decode($text,ENT_QUOTES);
}

鎶婄壒娈婄殑HTML瀹炰綋瑙g爜涓虹浉瀵瑰簲鐨勫瓧绗︺ 杩欎釜鍜encode()鏄浉鍙嶇殑鍔熻兘銆

public static string dropDownList(string $name, string $select, array $data, array $htmlOptions=array ( ))
$name string 涓嬫媺鍒楄〃鐨勫悕绉
$select string 琚変腑鐨勫
$data array 鐢ㄦ潵鐢熸垚鍒楄〃閫夐」鐨勬暟鎹(鍊=>鏄剧ず). 浣犲彲浠ヤ娇鐢listData鏉ョ敓杩欎釜鏁版嵁銆 璇峰弬鑰listOptions鏉ヤ簡瑙h繖涓暟鎹浣曠敓鎴愬垪琛ㄩ夐」銆 娉ㄦ剰锛岃繖涓柟娉曚細鑷姩鐨勫皢鍊煎拰鏍囩HTML缂栫爜銆
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 姝ゅ锛屼笅闈㈣繖浜涢夐」涔熻涓嬫媺鍒楄〃鎵鏀寔锛
  • encode: 甯冨皵鍊硷紝鎸囧畾鏄惁瀵瑰艰繘琛岀紪鐮併傞粯璁や负true銆
  • prompt: 瀛楃涓诧紝鎸囧畾浣滀负绗竴涓垪琛ㄩ」鐨勬彁绀烘枃鏈紝瀹冪殑鍊兼槸绌虹殑銆傛敞鎰忥紝鎻愮ず鏂囨湰涓嶄細琚獺TML缂栫爜銆
  • empty: 瀛楃涓诧紝鎸囧畾绌洪夐」鐨勬枃鏈紝瀹冪殑鍊兼槸绌虹殑銆 鈥榚mpty鈥欓夐」涔熷彲浠ユ槸涓涓-鏍囩瀵圭殑鏁扮粍銆 姣忎竴瀵归兘灏嗗湪涓寮濮嬫覆鏌撲负涓涓垪琛ㄩ夐」銆傛敞鎰忥紝鏂囨湰鏍囩涓嶄細琚獺TML缂栫爜銆
  • options: 鏁扮粍锛屾瘡涓猳ption鏍囩鐨勬寚瀹氶檮鍔犲睘鎬с 鏁扮粍鐨勯敭鍚嶅繀椤绘槸option鐨勫硷紝 鏁扮粍鐨勯敭鍊兼槸option鏍囩鐨勯檮鍔犵殑灞炴с備緥濡傦紝
        array(
            'value1'=>array('disabled'=>true, 'label'=>'value 1'),
            'value2'=>array('label'=>'value 2'),
        );
    
{return} string 鐢熸垚鐨勪笅鎷夊垪琛
婧愮爜锛 framework/web/helpers/CHtml.php#763 (鏄剧ず)
public static function dropDownList($name,$select,$data,$htmlOptions=array())
{
    
$htmlOptions['name']=$name;
    if(!isset(
$htmlOptions['id']))
        
$htmlOptions['id']=self::getIdByName($name);
    else if(
$htmlOptions['id']===false)
        unset(
$htmlOptions['id']);
    
self::clientChange('change',$htmlOptions);
    
$options="\n".self::listOptions($select,$data,$htmlOptions);
    return 
self::tag('select',$htmlOptions,$options);
}

鐢熸垚涓涓笅鎷夊垪琛ㄣ

encode() 鏂规硶
public static string encode(string $text)
$text string 瑕佽缂栫爜鐨勬暟鎹
{return} string 缂栫爜鍚庣殑鏁版嵁
婧愮爜锛 framework/web/helpers/CHtml.php#83 (鏄剧ず)
public static function encode($text)
{
    return 
htmlspecialchars($text,ENT_QUOTES,Yii::app()->charset);
}

鎶婄壒娈婄殑瀛楃缂栫爜涓篐TML瀹炰綋銆 application charset灏嗚鐢ㄤ簬缂栫爜銆

encodeArray() 鏂规硶
public static array encodeArray(array $data)
$data array 瑕佽缂栫爜鐨勬暟鎹
{return} array 缂栫爜鍚庣殑鏁版嵁
婧愮爜锛 framework/web/helpers/CHtml.php#110 (鏄剧ず)
public static function encodeArray($data)
{
    
$d=array();
    foreach(
$data as $key=>$value)
    {
        if(
is_string($key))
            
$key=htmlspecialchars($key,ENT_QUOTES,Yii::app()->charset);
        if(
is_string($value))
            
$value=htmlspecialchars($value,ENT_QUOTES,Yii::app()->charset);
        else if(
is_array($value))
            
$value=self::encodeArray($value);
        
$d[$key]=$value;
    }
    return 
$d;
}

鎶婁竴涓瓧绗︿覆鏁扮粍涓殑鐗规畩瀛楃缂栫爜涓篐TML瀹炰綋銆 濡傛灉闇瑕佺殑璇濓紝鏁扮粍鐨勯敭鍚嶅拰閿奸兘灏嗚缂栫爜銆 濡傛灉閿兼槸涓涓暟缁勶紝杩欎釜鏂规硶涔熷皢閫掑綊鐨勫皢瀹冪紪鐮 application charset灏嗚鐢ㄤ簬缂栫爜銆

endForm() 鏂规硶
public static string endForm()
{return} string 鐢熸垚鐨勬爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#335 (鏄剧ず)
public static function endForm()
{
    return 
'</form>';
}

鐢熸垚涓涓〃鍗曠殑缁撴潫鏍囩銆

鍙傝

error() 鏂规硶
public static 鏁版嵁鏄剧ず瀛楃涓层傚鏋滄病鏈夊彂鐜伴敊璇垯涓虹┖銆 error(CModel $model, string $attribute, array $htmlOptions=array ( ))
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴у悕
$htmlOptions array 棰濆鐨勮娓叉煋鍒癲iv瀹瑰櫒鐨凥TML灞炴с
{return} 鏁版嵁鏄剧ず瀛楃涓层傚鏋滄病鏈夊彂鐜伴敊璇垯涓虹┖銆
婧愮爜锛 framework/web/helpers/CHtml.php#1624 (鏄剧ず)
public static function error($model,$attribute,$htmlOptions=array())
{
    
self::resolveName($model,$attribute); // turn [a][b]attr into attr
    
$error=$model->getError($attribute);
    if(
$error!='')
    {
        if(!isset(
$htmlOptions['class']))
            
$htmlOptions['class']=self::$errorMessageCss;
        return 
self::tag('div',$htmlOptions,$error);
    }
    else
        return 
'';
}

鏄剧ず涓涓ā鍨嬪睘鎬х殑绗竴涓湁鏁堢殑閿欒銆

errorSummary() 鏂规硶
public static string errorSummary(mixed $model, string $header=NULL, string $footer=NULL, array $htmlOptions=array ( ))
$model mixed 杈撳叆閿欒瑕佽鏄剧ず鐨勬ā鍨嬨 鍙互鏄竴涓崟鐙殑妯″瀷锛屼篃鍙互鏄竴涓ā鍨嬬殑鏁扮粍銆
$header string 鍑虹幇鍦ㄩ敊璇墠闈㈢殑涓娈礖TML浠g爜
$footer string 鍑虹幇鍦ㄩ敊璇悗闈㈢殑涓娈礖TML浠g爜
$htmlOptions array 棰濆鐨勮娓叉煋鍒癲iv瀹瑰櫒鐨凥TML灞炴с 涓涓悕涓'firstError'鐨勫睘鎬ф槸琚鍙殑锛屽綋璁剧疆涓簍rue锛 灏嗗彧鏄剧ず姣忎釜灞炴х殑绗竴涓敊璇俊鎭 濡傛灉涓嶈缃垨璁剧疆涓篺alse锛屾墍鏈夌殑閿欒淇℃伅閮藉皢浼氭樉绀恒 杩欎釜閫夐」鑷1.1.3鐗堝彲鐢ㄣ
{return} string 閿欒鎽樿銆傚鏋滄病鏈夐敊璇鎵惧埌鍒欎负绌恒
婧愮爜锛 framework/web/helpers/CHtml.php#1578 (鏄剧ず)
public static function errorSummary($model,$header=null,$footer=null,$htmlOptions=array())
{
    
$content='';
    if(!
is_array($model))
        
$model=array($model);
    if(isset(
$htmlOptions['firstError']))
    {
        
$firstError=$htmlOptions['firstError'];
        unset(
$htmlOptions['firstError']);
    }
    else
        
$firstError=false;
    foreach(
$model as $m)
    {
        foreach(
$m->getErrors() as $errors)
        {
            foreach(
$errors as $error)
            {
                if(
$error!='')
                    
$content.="<li>$error</li>\n";
                if(
$firstError)
                    break;
            }
        }
    }
    if(
$content!=='')
    {
        if(
$header===null)
            
$header='<p>'.Yii::t('yii','Please fix the following input errors:').'</p>';
        if(!isset(
$htmlOptions['class']))
            
$htmlOptions['class']=self::$errorSummaryCss;
        return 
self::tag('div',$htmlOptions,$header."\n<ul>\n$content</ul>".$footer);
    }
    else
        return 
'';
}

鏄剧ず涓涓垨澶氫釜妯″瀷鐨勬湁鏁堥敊璇殑鎽樿銆

fileField() 鏂规硶
public static string fileField(string $name, string $value='', array $htmlOptions=array ( ))
$name string 杈撳叆妗嗙殑鍚嶇О
$value string 杈撳叆妗嗙殑鍊
$htmlOptions array 闄勫姞鐨凥TML灞炴(璇峰弬闃tag).
{return} string 鐢熸垚鐨勬枃浠惰緭鍏ユ
婧愮爜锛 framework/web/helpers/CHtml.php#610 (鏄剧ず)
public static function fileField($name,$value='',$htmlOptions=array())
{
    return 
self::inputField('file',$name,$value,$htmlOptions);
}

鐢熸垚涓涓枃浠惰緭鍏ユ銆 娉ㄦ剰锛屼綘蹇呴』璁剧疆琛ㄥ崟鐨勨榚nctype鈥欏睘鎬т负鈥榤ultipart/form-data鈥欍 琛ㄥ崟琚彁浜ゅ悗锛屼笂浼犵殑鏂囦欢淇℃伅鍙互閫氳繃$_FILES[$name]鏉ヨ幏寰 (璇峰弬闃 PHP documentation).

鍙傝

form() 鏂规硶
public static string form(mixed $action='', string $method='post', array $htmlOptions=array ( ))
$action mixed 琛ㄥ崟鐨刟ction閾炬帴(鍏充簬杩欎釜鍙傛暟璇﹁normalizeUrl銆)
$method string 琛ㄥ崟鏂规硶(渚嬪 post, get)
$htmlOptions array 闄勫姞鐨凥TML灞炴(璇峰弬闃tag)銆
{return} string 鐢熸垚鐨勮〃鍗曟爣绛俱
婧愮爜锛 framework/web/helpers/CHtml.php#293 (鏄剧ず)
public static function form($action='',$method='post',$htmlOptions=array())
{
    return 
self::beginForm($action,$method,$htmlOptions);
}

鐢熸垚涓涓〃鍗曠殑寮濮嬫爣绛俱 杩欐槸beginForm鐨勪竴涓嵎寰勩

getIdByName() 鏂规硶
public static string getIdByName(string $name)
$name string 鐢ㄦ潵鐢熸垚HTML ID鐨勫悕绉
{return} string 鏍规嵁鍚嶇О鐢熸垚鐨処D銆
婧愮爜锛 framework/web/helpers/CHtml.php#1710 (鏄剧ず)
public static function getIdByName($name)
{
    return 
str_replace(array('[]''][''['']'), array('''_''_'''), $name);
}

鏍规嵁鍚嶇О鏉ョ敓鎴愪竴涓湁鏁堢殑HTML ID銆

hiddenField() 鏂规硶
public static string hiddenField(string $name, string $value='', array $htmlOptions=array ( ))
$name string 杈撳叆妗嗙殑鍚嶇О
$value string 杈撳叆妗嗙殑鍊
$htmlOptions array 闄勫姞鐨凥TML灞炴(璇峰弬闃tag).
{return} string 鐢熸垚鐨勯殣钘忚緭鍏ユ
婧愮爜锛 framework/web/helpers/CHtml.php#578 (鏄剧ず)
public static function hiddenField($name,$value='',$htmlOptions=array())
{
    return 
self::inputField('hidden',$name,$value,$htmlOptions);
}

鐢熸垚涓涓殣钘忕殑杈撳叆妗

鍙傝

htmlButton() 鏂规硶
public static string htmlButton(string $label='button', array $htmlOptions=array ( ))
$label string 鎸夐挳鐨勬爣绛俱 娉ㄦ剰锛岃繖涓煎皢浼氱洿鎺ョ殑鎻掑叆鍒版寜閽厓绱犱腑锛屼笉缁忚繃缂栫爜澶勭悊銆
$htmlOptions array additional 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#450 (鏄剧ず)
public static function htmlButton($label='button',$htmlOptions=array())
{
    if(!isset(
$htmlOptions['name']))
        
$htmlOptions['name']=self::ID_PREFIX.self::$count++;
    if(!isset(
$htmlOptions['type']))
        
$htmlOptions['type']='button';
    
self::clientChange('click',$htmlOptions);
    return 
self::tag('button',$htmlOptions,$label);
}

鐢熸垚涓涓娇鐢℉TML鎸夐挳鏍囩鐨勬寜閽 杩欎釜鏂规硶绫讳技浜button锛 鍙槸瀹冪敓鎴愪竴涓寜閽爣绛炬潵鏇夸唬input鏍囩銆

鍙傝

image() 鏂规硶
public static string image(string $src, string $alt='', array $htmlOptions=array ( ))
$src string 鍥剧墖鐨刄RL
$alt string 鏇夸唬鐨勬枃瀛楁樉绀
$htmlOptions array 闄勫姞鐨凥TML灞炴(璇峰弬闃tag).
{return} string 鐢熸垚鐨勫浘鐗囨爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#409 (鏄剧ず)
public static function image($src,$alt='',$htmlOptions=array())
{
    
$htmlOptions['src']=$src;
    
$htmlOptions['alt']=$alt;
    return 
self::tag('img',$htmlOptions);
}

鐢熸垚涓涓浘鐗囨爣绛俱

imageButton() 鏂规硶
public static string imageButton(string $src, array $htmlOptions=array ( ))
$src string 鍥剧墖鐨刄RL
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#496 (鏄剧ず)
public static function imageButton($src,$htmlOptions=array())
{
    
$htmlOptions['src']=$src;
    
$htmlOptions['type']='image';
    return 
self::button('submit',$htmlOptions);
}

鐢熸垚涓涓浘鐗囨彁浜ゆ寜閽

鍙傝

inputField() 鏂规硶
protected static string inputField(string $type, string $name, string $value, array $htmlOptions)
$type string input鏍囩绫诲瀷(渚嬪 'text', 'radio')
$name string input鏍囩鍚嶇О
$value string input鏍囩鍊
$htmlOptions array 棰濆鐨凥TML鏍囩鐨勫睘鎬(璇峰弬闃tag).
{return} string 鐢熸垚鐨刬nput鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#1114 (鏄剧ず)
protected static function inputField($type,$name,$value,$htmlOptions)
{
    
$htmlOptions['type']=$type;
    
$htmlOptions['value']=$value;
    
$htmlOptions['name']=$name;
    if(!isset(
$htmlOptions['id']))
        
$htmlOptions['id']=self::getIdByName($name);
    else if(
$htmlOptions['id']===false)
        unset(
$htmlOptions['id']);
    return 
self::tag('input',$htmlOptions);
}

鐢熸垚涓涓猧nput鏍囩銆 杩欎釜鏂规硶鍩轰簬缁欏畾鐨勫悕绉板拰鍊兼潵鐢熸垚涓涓猧nput鏍囩銆

label() 鏂规硶
public static string label(string $label, string $for, array $htmlOptions=array ( ))
$label string 鏍囩鏂囨湰銆傛敞鎰忥紝濡傛灉闇瑕佺殑璇濓紝浣犲簲璇ユ妸鏂囨湰HTML缂栫爜銆
$for string 鍜岃繖涓爣绛炬湁鍏崇殑HTML鍏冪礌鐨処D銆 濡傛灉鏄痜alse锛屾爣绛剧殑鈥榝or鈥欏睘鎬у皢涓嶄細琚覆鏌撱
$htmlOptions array 闄勫姞鐨凥TML灞炴с 涓嬮潰鐨凥TML閫夐」鏄璁ゅ彲鐨勶細
{return} string 鐢熸垚鐨刲abel鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#533 (鏄剧ず)
public static function label($label,$for,$htmlOptions=array())
{
    if(
$for===false)
        unset(
$htmlOptions['for']);
    else
        
$htmlOptions['for']=$for;
    if(isset(
$htmlOptions['required']))
    {
        if(
$htmlOptions['required'])
        {
            if(isset(
$htmlOptions['class']))
                
$htmlOptions['class'].=' '.self::$requiredCss;
            else
                
$htmlOptions['class']=self::$requiredCss;
            
$label=self::$beforeRequiredLabel.$label.self::$afterRequiredLabel;
        }
        unset(
$htmlOptions['required']);
    }
    return 
self::tag('label',$htmlOptions,$label);
}

鐢熸垚涓涓猯abel鏍囩

public static string link(string $text, mixed $url='#', array $htmlOptions=array ( ))
$text string 閾炬帴涓讳綋銆傚畠涓嶄細琚紪鐮併傚洜姝わ紝濡傚浘鍍忔爣绛鹃偅鏍风殑HTML浠g爜涔熶細琚氳繃銆
$url mixed 涓涓猆RL鎴栦竴涓矾鐢卞姩浣滐紝鐢ㄤ簬鍒涘缓涓涓猆RL銆 鍏充簬濡備綍鎸囧畾杩欎釜鍙傛暟鐨勬洿澶氳缁嗘儏鍐佃鍙傞槄normalizeUrl
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勮秴閾炬帴
婧愮爜锛 framework/web/helpers/CHtml.php#378 (鏄剧ず)
public static function link($text,$url='#',$htmlOptions=array())
{
    if(
$url!=='')
        
$htmlOptions['href']=self::normalizeUrl($url);
    
self::clientChange('click',$htmlOptions);
    return 
self::tag('a',$htmlOptions,$text);
}

鐢熸垚涓涓秴閾炬帴銆

linkButton() 鏂规硶
public static string linkButton(string $label='submit', array $htmlOptions=array ( ))
$label string 鎸夐挳鐨勬爣绛
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#511 (鏄剧ず)
public static function linkButton($label='submit',$htmlOptions=array())
{
    if(!isset(
$htmlOptions['submit']))
        
$htmlOptions['submit']=isset($htmlOptions['href']) ? $htmlOptions['href'] : '';
    return 
self::link($label,'#',$htmlOptions);
}

鐢熸垚涓涓摼鎺ユ彁浜ゆ寜閽

鍙傝

linkTag() 鏂规硶
public static string linkTag(string $relation=NULL, string $type=NULL, string $href=NULL, string $media=NULL, array $options=array ( ))
$relation string link鏍囩鐨剅el灞炴с傚鏋滄槸null锛屽睘鎬у皢涓嶄細琚敓鎴愩
$type string link鏍囩鐨則ype灞炴с傚鏋滄槸null锛屽睘鎬у皢涓嶄細琚敓鎴愩
$href string link鏍囩鐨刪ref灞炴с傚鏋滄槸null锛屽睘鎬у皢涓嶄細琚敓鎴愩
$media string link鏍囩鐨刴edia灞炴с傚鏋滄槸null锛屽睘鎬у皢涓嶄細琚敓鎴愩
$options array 鍏跺畠閫夐」鐨勫悕绉-鍊煎
{return} string 鐢熸垚鐨刲ink鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#209 (鏄剧ず)
public static function linkTag($relation=null,$type=null,$href=null,$media=null,$options=array())
{
    if(
$relation!==null)
        
$options['rel']=$relation;
    if(
$type!==null)
        
$options['type']=$type;
    if(
$href!==null)
        
$options['href']=$href;
    if(
$media!==null)
        
$options['media']=$media;
    return 
self::tag('link',$options);
}

鐢熸垚涓涓猯ink鏍囩锛屽彲浠ユ彃鍏ュ埌HTML椤甸潰鐨勫ご閮ㄩ儴鍒嗐 涓嶈鎶婅繖涓柟娉曚笌link()鐩告贩涔憋紝鍚庤呮槸鐢熸垚涓涓秴绾ч摼鎺ャ

listBox() 鏂规硶
public static string listBox(string $name, mixed $select, array $data, array $htmlOptions=array ( ))
$name string 鍒楄〃妗嗙殑鍚嶇О
$select mixed 琚変腑鐨勫笺傝繖涓彲浠ユ槸涓涓崟鐙殑琚変腑椤圭殑瀛楃涓诧紝涔熷彲浠ユ槸澶氫釜閫変腑椤圭殑鏁扮粍銆
$data array 鐢ㄤ簬鐢熸垚鍒楄〃閫夐」鐨勬暟鎹(鍊=>鏄剧ず) 浣犲彲浠ヤ娇鐢listData鏉ョ敓杩欎釜鏁版嵁銆 璇峰弬鑰listOptions鏉ヤ簡瑙h繖涓暟鎹浣曠敓鎴愬垪琛ㄩ夐」銆 娉ㄦ剰锛岃繖涓柟娉曚細鑷姩鐨勫皢鍊煎拰鏍囩HTML缂栫爜銆
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 姝ゅ锛屼笅闈㈣繖浜涢夐」涔熻涓嬫媺鍒楄〃鎵鏀寔锛
  • encode: 甯冨皵鍊硷紝鎸囧畾鏄惁瀵瑰艰繘琛岀紪鐮併傞粯璁や负true銆
  • prompt: 瀛楃涓诧紝鎸囧畾浣滀负绗竴涓垪琛ㄩ」鐨勬彁绀烘枃鏈紝瀹冪殑鍊兼槸绌虹殑銆傛敞鎰忥紝鎻愮ず鏂囨湰涓嶄細琚獺TML缂栫爜銆
  • empty: 瀛楃涓诧紝鎸囧畾绌洪夐」鐨勬枃鏈紝瀹冪殑鍊兼槸绌虹殑銆 鈥榚mpty鈥欓夐」涔熷彲浠ユ槸涓涓-鏍囩瀵圭殑鏁扮粍銆 姣忎竴瀵归兘灏嗗湪涓寮濮嬫覆鏌撲负涓涓垪琛ㄩ夐」銆傛敞鎰忥紝鏂囨湰鏍囩涓嶄細琚獺TML缂栫爜銆
  • options: 鏁扮粍锛屾瘡涓猳ption鏍囩鐨勬寚瀹氶檮鍔犲睘鎬с 鏁扮粍鐨勯敭鍚嶅繀椤绘槸option鐨勫硷紝 鏁扮粍鐨勯敭鍊兼槸option鏍囩鐨勯檮鍔犵殑灞炴с備緥濡傦紝
        array(
            'value1'=>array('disabled'=>true, 'label'=>'value 1'),
            'value2'=>array('label'=>'value 2'),
        );
    
{return} string 鐢熸垚鐨勫垪琛ㄦ
婧愮爜锛 framework/web/helpers/CHtml.php#808 (鏄剧ず)
public static function listBox($name,$select,$data,$htmlOptions=array())
{
    if(!isset(
$htmlOptions['size']))
        
$htmlOptions['size']=4;
    if(isset(
$htmlOptions['multiple']))
    {
        if(
substr($name,-2)!=='[]')
            
$name.='[]';
    }
    return 
self::dropDownList($name,$select,$data,$htmlOptions);
}

鐢熸垚涓涓垪琛ㄦ銆

listData() 鏂规硶
public static array listData(array $models, string $valueField, string $textField, string $groupField='')
$models array 妯″瀷瀵硅薄鐨勫垪琛ㄣ 杩欎釜鍙傛暟涔熷彲浠ユ槸涓涓叧鑱旂殑鏁扮粍(渚嬪CDbCommand::queryAll鐨勭粨鏋)銆
$valueField string 鍒楄〃閫夐」鍊肩殑灞炴у悕
$textField string 鍒楄〃閫夐」鏂囨湰鐨勫睘鎬у悕
$groupField string 鍒楄〃閫夐」缁勭殑灞炴у悕銆傚鏋滄槸绌猴紝灏嗕笉浼氱敓鎴愮粍銆
{return} array 鍙敤浜dropDownList, listBox绛夌殑鍒楄〃鏁版嵁銆
婧愮爜锛 framework/web/helpers/CHtml.php#1652 (鏄剧ず)
public static function listData($models,$valueField,$textField,$groupField='')
{
    
$listData=array();
    if(
$groupField==='')
    {
        foreach(
$models as $model)
        {
            
$value=self::value($model,$valueField);
            
$text=self::value($model,$textField);
            
$listData[$value]=$text;
        }
    }
    else
    {
        foreach(
$models as $model)
        {
            
$group=self::value($model,$groupField);
            
$value=self::value($model,$valueField);
            
$text=self::value($model,$textField);
            
$listData[$group][$value]=$text;
        }
    }
    return 
$listData;
}

涓哄垪琛ㄥ瀷HTML鍏冪礌鐢熸垚閫傚綋鐨勬暟鎹 鐢熸垚鐨勬暟鎹彲鐢ㄤ簬dropDownList, listBox, checkBoxList, radioButtonList,鍜屽畠浠殑鍔犲己鐗(姣斿activeDropDownList). 娉ㄦ剰锛岃繖涓柟娉曚笉浼氬鐢熸垚鐨勬暟鎹瓾TML缂栫爜銆 濡傛灉闇瑕佺殑璇濅綘鍙互璋冪敤encodeArray鏉ョ粰瀹冪紪鐮併 璇峰弬闃value鏂规硶鏉ヤ簡瑙e浣曟寚瀹氬煎瓧娈碉紝鏂囨湰瀛楁浠ュ強缁勫瓧娈点

listOptions() 鏂规硶
public static string listOptions(mixed $selection, array $listData, array &$htmlOptions)
$selection mixed 琚変腑鐨勫笺傝繖涓彲浠ユ槸涓涓崟鐙殑琚変腑椤圭殑瀛楃涓诧紝涔熷彲浠ユ槸澶氫釜閫変腑椤圭殑鏁扮粍銆
$listData array 閫夐」鏁版嵁(璇峰弬闃listData)
$htmlOptions array 棰濆鐨凥TML灞炴с備笅闈袱涓壒瀹氱殑灞炴ф槸琚鍙細
  • encode: 甯冨皵鍊硷紝鎸囧畾鏄惁瀵瑰艰繘琛岀紪鐮併傞粯璁や负true銆
  • prompt: 瀛楃涓诧紝鎸囧畾浣滀负绗竴涓垪琛ㄩ夐」鐨勬彁绀烘枃鏈傚畠鐨勫间负绌恒傛敞鎰忥紝鎻愮ず鏂囨湰涓嶄細琚獺TML缂栫爜銆
  • empty: 瀛楃涓诧紝鎸囧畾绌洪夐」鐨勬枃鏈紝瀹冪殑鍊间负绌恒 'empty'閫夐」涔熷彲浠ユ槸涓涓-鏍囩瀵瑰舰寮忕殑鏁扮粍銆 鍦ㄤ竴寮濮嬫瘡涓閮戒細鐢ㄤ簬娓叉煋涓涓垪琛ㄧ殑閫夐」銆傛敞鎰忥紝鏂囨湰鏍囩涓嶄細琚獺TML缂栫爜銆
  • options: 鏁扮粍锛屼负姣忎釜OPTION鏍囩棰濆鎸囧畾鐨勫睘鎬с 鏁扮粍鐨勯敭鍚嶅繀椤绘槸閫夐」鐨勫硷紝 鏁扮粍鐨勯敭鍊兼槸閫夐」鏍囩鐨勯澶栫殑灞炴э紝鍚嶇О-鍊煎鐨勫舰寮忋備緥濡傦紝
        array(
            'value1'=>array('disabled'=>true, 'label'=>'value 1'),
            'value2'=>array('label'=>'value 2'),
        );
    
  • key: 瀛楃涓诧紝鎸囧畾閫夋嫨瀵硅薄鐨刱ey灞炴у悕绉皊pecifies the name of key attribute of the selection object(s). 褰撲綔涓哄璞″疄浣撴潵璇锋眰鏃朵娇鐢ㄣ傚湪杩欑鎯呭喌涓嬶紝This is used when the selection is represented in terms of objects. In this case, 杩欎釜鐢ㄥ璞$殑閫夐」鐨刱ey鏉ュ懡鍚嶇殑灞炴у皢浣滀负鐪熷疄鐨勯変腑鐨勫笺 杩欎釜閫夐」榛樿涓'primaryKey', 鎰忓懗鐫浣跨敤閫変腑瀹炰綋鐨'primaryKey'灞炴у笺 杩欎釜閫夐」鑷1.1.3鐗堝彲鐢ㄣ
{return} string 鐢熸垚鐨勫垪琛ㄩ夐」
婧愮爜锛 framework/web/helpers/CHtml.php#1809 (鏄剧ず)
public static function listOptions($selection,$listData,&$htmlOptions)
{
    
$raw=isset($htmlOptions['encode']) && !$htmlOptions['encode'];
    
$content='';
    if(isset(
$htmlOptions['prompt']))
    {
        
$content.='<option value="">'.strtr($htmlOptions['prompt'],array('<'=>'&lt;''>'=>'&gt;'))."</option>\n";
        unset(
$htmlOptions['prompt']);
    }
    if(isset(
$htmlOptions['empty']))
    {
        if(!
is_array($htmlOptions['empty']))
            
$htmlOptions['empty']=array(''=>$htmlOptions['empty']);
        foreach(
$htmlOptions['empty'] as $value=>$label)
            
$content.='<option value="'.self::encode($value).'">'.strtr($label,array('<'=>'&lt;''>'=>'&gt;'))."</option>\n";
        unset(
$htmlOptions['empty']);
    }

    if(isset(
$htmlOptions['options']))
    {
        
$options=$htmlOptions['options'];
        unset(
$htmlOptions['options']);
    }
    else
        
$options=array();

    
$key=isset($htmlOptions['key']) ? $htmlOptions['key'] : 'primaryKey';
    if(
is_array($selection))
    {
        foreach(
$selection as $i=>$item)
        {
            if(
is_object($item))
                
$selection[$i]=$item->$key;
        }
    }
    else if(
is_object($selection))
        
$selection=$selection->$key;

    foreach(
$listData as $key=>$value)
    {
        if(
is_array($value))
        {
            
$content.='<optgroup label="'.($raw?$key self::encode($key))."\">\n";
            
$dummy=array('options'=>$options);
            if(isset(
$htmlOptions['encode']))
                
$dummy['encode']=$htmlOptions['encode'];
            
$content.=self::listOptions($selection,$value,$dummy);
            
$content.='</optgroup>'."\n";
        }
        else
        {
            
$attributes=array('value'=>(string)$key'encode'=>!$raw);
            if(!
is_array($selection) && !strcmp($key,$selection) || is_array($selection) && in_array($key,$selection))
                
$attributes['selected']='selected';
            if(isset(
$options[$key]))
                
$attributes=array_merge($attributes,$options[$key]);
            
$content.=self::tag('option',$attributes,$raw?(string)$value self::encode((string)$value))."\n";
        }
    }

    unset(
$htmlOptions['key']);

    return 
$content;
}

鐢熸垚涓涓垪琛ㄩ夐」銆

mailto() 鏂规硶
public static string mailto(string $text, string $email='', array $htmlOptions=array ( ))
$text string 閾炬帴涓讳綋銆傚畠涓嶄細琚紪鐮併傚洜姝わ紝濡傚浘鍍忔爣绛鹃偅鏍风殑HTML浠g爜涔熶細琚氳繃銆
$email string email鍦板潃銆傚鏋滄槸绌猴紝绗竴涓弬鏁帮紙閾炬帴涓讳綋锛夊皢琚綔涓篹mail鍦板潃銆
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string the 鐢熸垚鐨勭數瀛愰偖浠堕摼鎺
婧愮爜锛 framework/web/helpers/CHtml.php#395 (鏄剧ず)
public static function mailto($text,$email='',$htmlOptions=array())
{
    if(
$email==='')
        
$email=$text;
    return 
self::link($text,'mailto:'.$email,$htmlOptions);
}

鍒涘缓涓涓數瀛愰偖浠堕摼鎺ャ

鍙傝

metaTag() 鏂规硶
public static string metaTag(string $content, string $name=NULL, string $httpEquiv=NULL, array $options=array ( ))
$content string meta鏍囩鐨勫唴瀹瑰睘鎬
$name string meta鏍囩鐨勫睘鎬у悕銆傚鏋滄槸null锛屽睘鎬у皢涓嶄細琚敓鎴
$httpEquiv string meta鏍囩鐨刪ttp-equiv灞炴с傚鏋滄槸null锛屽睘鎬у皢涓嶄細琚敓鎴
$options array 鍏跺畠閫夐」鐨勫悕绉-鍊煎(渚嬪 'scheme'锛 'lang')
{return} string 鐢熸垚鐨刴eta鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#189 (鏄剧ず)
public static function metaTag($content,$name=null,$httpEquiv=null,$options=array())
{
    if(
$name!==null)
        
$options['name']=$name;
    if(
$httpEquiv!==null)
        
$options['http-equiv']=$httpEquiv;
    
$options['content']=$content;
    return 
self::tag('meta',$options);
}

鐢熸垚涓涓猰eta鏍囩锛屽彲浠ユ彃鍏ュ埌HTML椤甸潰鐨勫ご閮ㄩ儴鍒嗐

normalizeUrl() 鏂规硶
public static string normalizeUrl(mixed $url)
$url mixed 鐢熸垚涓涓湁鏁堢殑URL鐨勫弬鏁
{return} string 鏈夋晥鐨刄RL
婧愮爜锛 framework/web/helpers/CHtml.php#1088 (鏄剧ず)
public static function normalizeUrl($url)
{
    if(
is_array($url))
    {
        if(isset(
$url[0]))
        {
            if((
$c=Yii::app()->getController())!==null)
                
$url=$c->createUrl($url[0],array_splice($url,1));
            else
                
$url=Yii::app()->createUrl($url[0],array_splice($url,1));
        }
        else
            
$url='';
    }
    return 
$url==='' Yii::app()->getRequest()->getUrl() : $url;
}

閫氳繃鏍囧噯鐨勮緭鍏ユ潵鐢熸垚涓涓湁鏁堢殑URL銆

濡傛灉杈撳叆鍙傛暟鏄竴涓┖瀛楃涓诧紝灏嗚繑鍥炲綋鍓嶈姹傜殑URL銆

濡傛灉杈撳叆鍙傛暟涓嶆槸涓涓┖瀛楃涓诧紝 瀹冭褰撲綔涓涓湁鏁堢殑URL锛屼笉浣滀换浣曟敼鍙樿杩斿洖銆

濡傛灉杈撳叆鍙傛暟鏄竴涓暟缁勶紝瀹冭瑙嗕负涓涓帶鍒跺櫒璺敱鍜屼竴涓狦ET鍙傛暟鍒楄〃锛 灏嗕細璋冪敤CController::createUrl鏂规硶鏉ュ垱寤轰竴涓猆RL銆 鏃㈢劧杩欐牱锛屾暟缁勭殑绗竴涓厓绱犳槸鎸囨帶鍒跺櫒鐨勮矾鐢憋紝 鍏跺畠鐨勯敭鍚-閿煎鎸囬澶栫殑URL鍙傛暟銆 渚嬪锛array('post/list', 'page'=>3) 鍙互鐢熸垚涓涓猆RL /index.php?r=post/list&page=3.

openTag() 鏂规硶
public static string openTag(string $tag, array $htmlOptions=array ( ))
$tag string 鏍囩鍚
$htmlOptions array 鍏冪礌鐨勫睘鎬с傚睘鎬у煎皢琚encode()HTML缂栫爜銆 濡傛灉缁欎簡涓涓'encode'灞炴э紝鑰屼笖灞炴у间负false鐨勮瘽锛 鍏朵綑鐨勫睘鎬у煎皢涓嶄細琚獺TML缂栫爜銆 鑷1.1.5璧凤紝灞炴у间负null鐨勫睘鎬у皢涓嶄細琚覆鏌撱
{return} string 鐢熸垚鐨凥TML鍏冪礌鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#156 (鏄剧ず)
public static function openTag($tag,$htmlOptions=array())
{
    return 
'<' $tag self::renderAttributes($htmlOptions) . '>';
}

鐢熸垚涓涓狧TML鍏冪礌鐨勫紑濮嬫爣绛俱

pageStateField() 鏂规硶
public static string pageStateField(string $value)
$value string 搴忓垪鍖栫殑鎸佷箙鐘舵
{return} string 鐢熸垚鐨勯殣钘忓煙
婧愮爜锛 framework/web/helpers/CHtml.php#362 (鏄剧ず)
public static function pageStateField($value)
{
    return 
'<input type="hidden" name="'.CController::STATE_INPUT_NAME.'" value="'.$value.'" />';
}

鐢熸垚涓涓敤浜庡瓨鍌ㄩ〉闈㈡寔涔呯姸鎬佺殑闅愯棌鍩熴 杩欎釜鏂规硶鍦ㄥ唴閮ㄤ负statefulForm鎵鐢ㄣ

passwordField() 鏂规硶
public static string passwordField(string $name, string $value='', array $htmlOptions=array ( ))
$name string 杈撳叆妗嗙殑鍚嶇О
$value string 杈撳叆妗嗙殑鍊
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勫瘑鐮佽緭鍏ユ
婧愮爜锛 framework/web/helpers/CHtml.php#593 (鏄剧ず)
public static function passwordField($name,$value='',$htmlOptions=array())
{
    
self::clientChange('change',$htmlOptions);
    return 
self::inputField('password',$name,$value,$htmlOptions);
}

鐢熸垚涓涓瘑鐮佽緭鍏ユ銆

radioButton() 鏂规硶
public static string radioButton(string $name, boolean $checked=false, array $htmlOptions=array ( ))
$name string 鎸夐挳鐨勫悕绉
$checked boolean 鍗曢夋寜閽槸鍚﹁閫変腑鐘舵
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭) 鑷1.1.2鐗堣捣锛屼竴涓悕绉颁负鈥榰ncheckValue鈥欑殑鐗规畩閫夐」鍙互琚娇鐢紝 杩欎釜鐗规畩閫夐」鐨勫煎湪褰撳崟閫夋寜閽病鏈夎閫変腑鏃惰繑鍥炪 濡傛灉璁剧疆浜嗚繖涓壒娈婇夐」鍊硷紝閭d箞涓涓殣钘忓煙浼氳娓叉煋锛屼互渚垮綋鍗曢夋寜閽病鏈夎閫変腑鏃讹紝鎴戜滑浠嶇劧鍙互鑾峰緱涓涓湭閫変腑鏃剁殑鍊笺 濡傛灉鈥榰ncheckValue鈥欐病鏈夎璁剧疆鎴栬缃负NULL锛岄殣钘忓煙灏嗕笉浼氳娓叉煋銆
{return} string 鐢熸垚鐨勫崟閫夋寜閽
婧愮爜锛 framework/web/helpers/CHtml.php#650 (鏄剧ず)
public static function radioButton($name,$checked=false,$htmlOptions=array())
{
    if(
$checked)
        
$htmlOptions['checked']='checked';
    else
        unset(
$htmlOptions['checked']);
    
$value=isset($htmlOptions['value']) ? $htmlOptions['value'] : 1;
    
self::clientChange('click',$htmlOptions);

    if(
array_key_exists('uncheckValue',$htmlOptions))
    {
        
$uncheck=$htmlOptions['uncheckValue'];
        unset(
$htmlOptions['uncheckValue']);
    }
    else
        
$uncheck=null;

    if(
$uncheck!==null)
    {
        
// 娣诲姞涓涓殣钘忓煙锛屼互渚垮綋鍗曢夋寜閽病鏈夎閫変腑鏃讹紝浠嶇劧浼氭彁浜や竴涓
        
if(isset($htmlOptions['id']) && $htmlOptions['id']!==false)
            
$uncheckOptions=array('id'=>self::ID_PREFIX.$htmlOptions['id']);
        else
            
$uncheckOptions=array('id'=>false);
        
$hidden=self::hiddenField($name,$uncheck,$uncheckOptions);
    }
    else
        
$hidden='';

    
// 娣诲姞涓涓殣钘忓煙锛屼互渚垮綋鍗曢夋寜閽病鏈夎閫変腑鏃讹紝浠嶇劧浼氭彁浜や竴涓
    
return $hidden self::inputField('radio',$name,$value,$htmlOptions);
}

鐢熸垚涓涓崟閫夋寜閽

radioButtonList() 鏂规硶
public static string radioButtonList(string $name, string $select, array $data, array $htmlOptions=array ( ))
$name string 鍗曢夋寜閽垪琛ㄧ殑鍚嶇О銆 涓鏃﹁〃鍗曡鎻愪氦锛屼綘鍙互浣跨敤杩欎釜鍚嶇О鏉ヨ幏鍙栬閫変腑鐨勫笺
$select string 琚変腑鐨勫崟閫夋寜閽
$data array 鐢ㄤ簬鐢熸垚鍗曢夋寜閽垪琛ㄧ殑鍊-鏍囩瀵广 娉ㄦ剰锛屽煎皢鑷姩琚獺TML缂栫爜锛岀劧鑰屾爣绛句笉浼氥
$htmlOptions array 闄勫姞鐨凥TML閫夐」銆 閫夐」灏嗕細搴旂敤浜庢瘡涓崟閫夋寜閽笂锛屼笅闈㈣繖浜涚壒瀹氱殑閫夐」鏄璁ゅ彲鐨勶細
  • template: 瀛楃涓诧紝鎸囧畾濡備綍娓叉煋姣忎釜澶嶉夋銆 榛樿涓"{input} {label}"锛 鍏朵腑"{input}"灏嗚鐢熸垚鐨勫崟閫夋寜閽爣绛惧彇浠o紝 鑰"{label}"浼氭浛鎹负鐩稿簲鐨勫閫夋鏍囩鐨刲abel銆
  • separator: 瀛楃涓诧紝鍒嗛殧鐢熸垚鐨勫崟閫夋寜閽殑瀛楃涓层傞粯璁や负涓涓柊琛岋紙
  • labelOptions: 鏁扮粍锛 鎸囧畾涓哄垪琛ㄤ腑鐨勬瘡涓爣绛炬覆鏌撶殑闄勫姞鐨凥TML灞炴с
{return} string 鐢熸垚鐨勫崟閫夋寜閽垪琛
婧愮爜锛 framework/web/helpers/CHtml.php#934 (鏄剧ず)
public static function radioButtonList($name,$select,$data,$htmlOptions=array())
{
    
$template=isset($htmlOptions['template'])?$htmlOptions['template']:'{input} {label}';
    
$separator=isset($htmlOptions['separator'])?$htmlOptions['separator']:"<br/>\n";
    unset(
$htmlOptions['template'],$htmlOptions['separator']);

    
$labelOptions=isset($htmlOptions['labelOptions'])?$htmlOptions['labelOptions']:array();
    unset(
$htmlOptions['labelOptions']);

    
$items=array();
    
$baseID=self::getIdByName($name);
    
$id=0;
    foreach(
$data as $value=>$label)
    {
        
$checked=!strcmp($value,$select);
        
$htmlOptions['value']=$value;
        
$htmlOptions['id']=$baseID.'_'.$id++;
        
$option=self::radioButton($name,$checked,$htmlOptions);
        
$label=self::label($label,$htmlOptions['id'],$labelOptions);
        
$items[]=strtr($template,array('{input}'=>$option,'{label}'=>$label));
    }
    return 
self::tag('span',array('id'=>$baseID),implode($separator,$items));
}

鐢熸垚涓涓崟閫夋寜閽垪琛ㄣ 涓涓崟閫夋寜閽垪琛ㄥ氨鍍忔槸涓涓澶嶉夋鍒楄〃锛 鍙槸瀹冩槸鍏佽閫変腑鍗曚釜銆.

refresh() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.1锛
public static void refresh(integer $seconds, string $url='')
$seconds integer 鍒锋柊椤甸潰鍓嶇瓑寰呯殑绉掓暟
$url string 瑕佽烦杞殑URL锛屽鏋滄槸绌猴紝鎰忓懗鐫褰撳墠椤点
婧愮爜锛 framework/web/helpers/CHtml.php#244 (鏄剧ず)
public static function refresh($seconds$url='')
{
    
$content="$seconds";
    if(
$url!=='')
        
$content.=';'.self::normalizeUrl($url);
    
Yii::app()->clientScript->registerMetaTag($content,null,'refresh');
}

娉ㄥ唽涓涓滃埛鏂扳漨eta鏍囩銆 杩欎釜鏂规硶鍙互鍦ㄤ竴涓鍥剧殑浠讳綍鍦版柟琚敜璧枫 瀹冨皢鐢CClientScript鏉ユ敞鍐屼竴涓滃埛鏂扳漨eta鏍囩锛 鍙互璁╅〉闈㈠湪鐗瑰畾鐨勭鏁板悗鍒锋柊銆

renderAttributes() 鏂规硶
public static string renderAttributes(array $htmlOptions)
$htmlOptions array 灏嗚娓叉煋鐨勫睘鎬
{return} string 娓叉煋缁撴灉
婧愮爜锛 framework/web/helpers/CHtml.php#2067 (鏄剧ず)
public static function renderAttributes($htmlOptions)
{
    static 
$specialAttributes=array(
        
'checked'=>1,
        
'declare'=>1,
        
'defer'=>1,
        
'disabled'=>1,
        
'ismap'=>1,
        
'multiple'=>1,
        
'nohref'=>1,
        
'noresize'=>1,
        
'readonly'=>1,
        
'selected'=>1,
    );

    if(
$htmlOptions===array())
        return 
'';

    
$html='';
    if(isset(
$htmlOptions['encode']))
    {
        
$raw=!$htmlOptions['encode'];
        unset(
$htmlOptions['encode']);
    }
    else
        
$raw=false;

    if(
$raw)
    {
        foreach(
$htmlOptions as $name=>$value)
        {
            if(isset(
$specialAttributes[$name]))
            {
                if(
$value)
                    
$html .= ' ' $name '="' $name '"';
            }
            else if(
$value!==null)
                
$html .= ' ' $name '="' $value '"';
        }
    }
    else
    {
        foreach(
$htmlOptions as $name=>$value)
        {
            if(isset(
$specialAttributes[$name]))
            {
                if(
$value)
                    
$html .= ' ' $name '="' $name '"';
            }
            else if(
$value!==null)
                
$html .= ' ' $name '="' self::encode($value) . '"';
        }
    }
    return 
$html;
}

娓叉煋HTML鏍囩灞炴с 鑷1.1.5鐗堣捣锛屽睘鎬у间负null鐨勫睘鎬у皢涓嶄細琚覆鏌撱 鐗规畩鐨勫睘鎬э紝鍍'checked', 'disabled', 'readonly'锛 灏嗚娓叉煋涓轰负瀹冧滑鐩稿搴旂殑甯冨皵鍊笺

resetButton() 鏂规硶
public static string resetButton(string $label='reset', array $htmlOptions=array ( ))
$label string 鎸夐挳鐨勬爣绛
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#482 (鏄剧ず)
public static function resetButton($label='reset',$htmlOptions=array())
{
    
$htmlOptions['type']='reset';
    return 
self::button($label,$htmlOptions);
}

鐢熸垚涓涓噸缃寜閽

鍙傝

resolveName() 鏂规硶
public static string resolveName(CModel $model, string &$attribute)
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
{return} string 杈撳叆鏍囩鐨勫悕绉
婧愮爜锛 framework/web/helpers/CHtml.php#1990 (鏄剧ず)
public static function resolveName($model,&$attribute)
{
    if((
$pos=strpos($attribute,'['))!==false)
    {
        if(
$pos!==0)  // e.g. name[a][b]
            
return get_class($model).'['.substr($attribute,0,$pos).']'.substr($attribute,$pos);
        if((
$pos=strrpos($attribute,']'))!==false && $pos!==strlen($attribute)-1)  // e.g. [a][b]name
        
{
            
$sub=substr($attribute,0,$pos+1);
            
$attribute=substr($attribute,$pos+1);
            return 
get_class($model).$sub.'['.$attribute.']';
        }
        if(
preg_match('/\](\w+\[.*)$/',$attribute,$matches))
        {
            
$name=get_class($model).'['.str_replace(']','][',trim(strtr($attribute,array(']['=>']','['=>']')),']')).']';
            
$attribute=$matches[1];
            return 
$name;
        }
    }
    return 
get_class($model).'['.$attribute.']';
}

鐢熸垚涓涓ā鍨嬪睘鎬х殑杈撳叆鍚嶇О 娉ㄦ剰锛岃皟鐢ㄦ鏂规硶鍚庯紝濡傛灉鍚嶇О鍖呭惈鏂规嫭鍙峰墠鐨勭湡瀹炲睘鎬х殑鍚嶇О锛堜富瑕佺敤浜庤〃鏍艰緭鍏ワ級锛 灞炴х殑鍚嶇О鍙兘浼氳淇敼銆

resolveNameID() 鏂规硶
public static void resolveNameID(CModel $model, string &$attribute, array &$htmlOptions)
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴
$htmlOptions array HTML閫夐」
婧愮爜锛 framework/web/helpers/CHtml.php#1972 (鏄剧ず)
public static function resolveNameID($model,&$attribute,&$htmlOptions)
{
    if(!isset(
$htmlOptions['name']))
        
$htmlOptions['name']=self::resolveName($model,$attribute);
    if(!isset(
$htmlOptions['id']))
        
$htmlOptions['id']=self::getIdByName($htmlOptions['name']);
    else if(
$htmlOptions['id']===false)
        unset(
$htmlOptions['id']);
}

鐢熸垚涓涓ā鍨嬪睘鎬х殑杈撳叆妗嗗悕绉板拰ID銆 杩欎釜鏂规硶浼氭牴鎹缃殑'name'鍜'id'灞炴ф潵鏇存柊HTML鐨勯夐」銆 姝ゆ柟娉曚篃鍙互淇敼灞炴х殑鍚嶇О锛 濡傛灉鍚嶇О涓寘鍚柟鎷彿鐨勮瘽锛堜富瑕佺敤浜庤〃鏍艰緭鍏ワ級銆

resolveValue() 鏂规硶 锛堝彲鐢ㄨ嚜 v1.1.3锛
public static mixed resolveValue(CModel $model, string $attribute)
$model CModel 鏁版嵁妯″瀷
$attribute string 灞炴у悕
{return} mixed 灞炴у
婧愮爜锛 framework/web/helpers/CHtml.php#2021 (鏄剧ず)
public static function resolveValue($model,$attribute)
{
    if((
$pos=strpos($attribute,'['))!==false)
    {
        if(
$pos===0)  // [a]name[b][c], should ignore [a]
        
{
            if(
preg_match('/\](\w+)/',$attribute,$matches))
                
$attribute=$matches[1];
            if((
$pos=strpos($attribute,'['))===false)
                return 
$model->$attribute;
        }
        
$name=substr($attribute,0,$pos);
        
$value=$model->$name;
        foreach(
explode('][',rtrim(substr($attribute,$pos+1),']')) as $id)
        {
            if(
is_array($value) && isset($value[$id]))
                
$value=$value[$id];
            else
                return 
null;
        }
        return 
$value;
    }
    else
        return 
$model->$attribute;
}

璇勪及妯″瀷鐨勫睘鎬у笺 杩欎釜鏂规硶璁ゅ彲涓涓暟缁勬牸寮忕殑灞炴у悕銆 渚嬪锛屽鏋滃睘鎬у悕涓'name[a][b]', 閭d箞"$model->name['a']['b']"鐨勫煎皢琚繑鍥炪

script() 鏂规硶
public static string script(string $text)
$text string 灏嗚瀵嗗皝鐨凧avascript
{return} string 瀵嗗皝濂界殑Javascript
婧愮爜锛 framework/web/helpers/CHtml.php#270 (鏄剧ず)
public static function script($text)
{
    return 
"<script type=\"text/javascript\">\n/*<![CDATA[*/\n{$text}\n/*]]>*/\n</script>";
}

灏嗙粰瀹氱殑Javascript瀵嗗皝鍒颁竴涓猻cript鏍囩涓

scriptFile() 鏂规硶
public static string scriptFile(string $url)
$url string JavaScript鏂囦欢鐨刄RL
{return} string JavaScript鏂囦欢鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#280 (鏄剧ず)
public static function scriptFile($url)
{
    return 
'<script type="text/javascript" src="'.self::encode($url).'"></script>';
}

鍖呭惈涓涓狫avascript鏂囦欢銆

statefulForm() 鏂规硶
public static string statefulForm(mixed $action='', string $method='post', array $htmlOptions=array ( ))
$action mixed 琛ㄥ崟鐨刟ction閾炬帴(鍏充簬杩欎釜鍙傛暟璇﹁normalizeUrl銆)
$method string 琛ㄥ崟鏂规硶(渚嬪 post, get)
$htmlOptions array 闄勫姞鐨凥TML灞炴(璇峰弬闃tag)銆
{return} string 鐢熸垚鐨勮〃鍗曟爣绛俱
婧愮爜锛 framework/web/helpers/CHtml.php#350 (鏄剧ず)
public static function statefulForm($action='',$method='post',$htmlOptions=array())
{
    return 
self::form($action,$method,$htmlOptions)."\n".
        
self::tag('div',array('style'=>'display:none'),self::pageStateField(''));
}

鐢熸垚涓涓湁鐘舵佺殑琛ㄥ崟鏍囩銆 涓涓湁鐘舵佺殑琛ㄥ崟鏍囩绫讳技浜form锛岄櫎杩欎互澶栵紝 瀹冭繕鍙互娓叉煋涓涓檮鍔犵殑鐢ㄤ簬鎸佷箙瀛樺偍椤甸潰鐘舵佺殑闅愯棌鍩熴 濡傛灉浣犳兂鍦ㄨ〃鍗曟彁浜ょ殑鏃跺欏彲浠ヨ闂〉闈㈡寔涔呯姸鎬侊紝閭d箞浣犲氨鍙互鐢ㄨ繖涓柟娉曠敓鎴愪竴涓〃鍗曟爣绛

submitButton() 鏂规硶
public static string submitButton(string $label='submit', array $htmlOptions=array ( ))
$label string 鎸夐挳鐨勬爣绛
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬寜閽爣绛
婧愮爜锛 framework/web/helpers/CHtml.php#468 (鏄剧ず)
public static function submitButton($label='submit',$htmlOptions=array())
{
    
$htmlOptions['type']='submit';
    return 
self::button($label,$htmlOptions);
}

鐢熸垚涓涓彁浜ゆ寜閽

鍙傝

tag() 鏂规硶
public static string tag(string $tag, array $htmlOptions=array ( ), mixed $content=false, boolean $closeTag=true)
$tag string 鏍囩鍚
$htmlOptions array 鍏冪礌鐨勫睘鎬с傚睘鎬у煎皢琚encode()HTML缂栫爜銆 濡傛灉缁欎簡涓涓'encode'灞炴э紝鑰屼笖灞炴у间负false鐨勮瘽锛 鍏朵綑鐨勫睘鎬у煎皢涓嶄細琚獺TML缂栫爜銆 鑷1.1.5璧凤紝灞炴у间负null鐨勫睘鎬у皢涓嶄細琚覆鏌撱
$content mixed 琚檮鍔犲湪寮鍚拰闂悎鐨勫厓绱犳爣璁颁箣闂寸殑鍐呭銆傚畠涓嶄細琚獺TML缂栫爜銆 濡傛灉鏄痜alse锛屾剰鍛崇潃娌℃湁涓讳綋鍐呭銆
$closeTag boolean 鏄惁鐢熸垚缁撴潫鏍囪銆
{return} string 鐢熸垚鐨凥TML鍏冪礌鏍囩
婧愮爜锛 framework/web/helpers/CHtml.php#138 (鏄剧ず)
public static function tag($tag,$htmlOptions=array(),$content=false,$closeTag=true)
{
    
$html='<' $tag self::renderAttributes($htmlOptions);
    if(
$content===false)
        return 
$closeTag $html.' />' $html.'>';
    else
        return 
$closeTag $html.'>'.$content.'</'.$tag.'>' $html.'>'.$content;
}

鐢熸垚涓涓狧TML鍏冪礌銆

textArea() 鏂规硶
public static string textArea(string $name, string $value='', array $htmlOptions=array ( ))
$name string 鏂囨湰妗嗙殑鍚嶇О
$value string 鏂囨湰妗嗙殑鍊
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬枃鏈
婧愮爜锛 framework/web/helpers/CHtml.php#625 (鏄剧ず)
public static function textArea($name,$value='',$htmlOptions=array())
{
    
$htmlOptions['name']=$name;
    if(!isset(
$htmlOptions['id']))
        
$htmlOptions['id']=self::getIdByName($name);
    else if(
$htmlOptions['id']===false)
        unset(
$htmlOptions['id']);
    
self::clientChange('change',$htmlOptions);
    return 
self::tag('textarea',$htmlOptions,isset($htmlOptions['encode']) && !$htmlOptions['encode'] ? $value self::encode($value));
}

鐢熸垚涓涓枃鏈銆

textField() 鏂规硶
public static string textField(string $name, string $value='', array $htmlOptions=array ( ))
$name string 杈撳叆妗嗙殑鍚嶇О
$value string 杈撳叆妗嗙殑鍊
$htmlOptions array 闄勫姞鐨凥TML灞炴с傞櫎浜嗘甯哥殑HTML灞炴у锛 涓浜涚壒娈婄殑灞炴т篃鏄彲浠ョ殑(璇峰弬闃clientChangetag鏉ヤ簡瑙f洿澶氳缁嗕俊鎭)
{return} string 鐢熸垚鐨勬枃鏈緭鍏ユ
婧愮爜锛 framework/web/helpers/CHtml.php#564 (鏄剧ず)
public static function textField($name,$value='',$htmlOptions=array())
{
    
self::clientChange('change',$htmlOptions);
    return 
self::inputField('text',$name,$value,$htmlOptions);
}

鐢熸垚涓涓枃鏈緭鍏ユ銆

value() 鏂规硶
public static mixed value(mixed $model, string $attribute, mixed $defaultValue=NULL)
$model mixed 妯″瀷銆傚彲浠ユ槸涓涓璞′篃鍙互鏄竴涓暟缁勩
$attribute string 灞炴у悕(鐢ㄧ偣杩炴帴鐨勫閲嶅睘鎬)
$defaultValue mixed 褰撳睘鎬т笉瀛樺湪鏃惰繑鍥炵殑榛樿鍊
{return} mixed n灞炴у
婧愮爜锛 framework/web/helpers/CHtml.php#1691 (鏄剧ず)
public static function value($model,$attribute,$defaultValue=null)
{
    foreach(
explode('.',$attribute) as $name)
    {
        if(
is_object($model))
            
$model=$model->$name;
        else if(
is_array($model) && isset($model[$name]))
            
$model=$model[$name];
        else
            return 
$defaultValue;
    }
    return 
$model;
}

璇勪及缁欏畾鐨勬ā鍨嬩腑鎸囧畾灞炴х殑鍊笺 灞炴у悕鍙互鐢ㄧ偣璇硶鐨勫舰寮忕粰鍑恒備緥濡傦紝 濡傛灉灞炴ф槸"author.firstName"锛岃繖涓柟娉曞皢杩斿洖"$model->author->firstName"鐨勫笺 濡傛灉灞炴т笉瀛樺湪鎴栬呭湪涓棿琚墦鏂紝 灏嗕細杩斿洖涓涓粯璁ゅ硷紙琚湅浣滄槸鏈鍚庝竴涓弬鏁帮級(渚嬪$model->author鏄痭ull). 妯″瀷鍙互鏄竴涓璞′篃鍙互鏄竴涓暟缁勩 濡傛灉鏄暟缁勶紝灞炴ц鐪嬩綔鏄暟缁勭殑涓涓敭鍚嶃 渚嬪"author.firstName"锛屾剰鍛崇潃鏄暟缁勫"$model['author']['firstName']"銆

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.