Yii Framework v1.1.10 绫诲弬鑰

CTreeView

system.web.widgets
缁ф壙 class CTreeView » CWidget » CBaseController » CComponent
婧愯嚜 1.0
鐗堟湰 $Id: CTreeView.php 3144 2011-03-30 07:03:48Z mdomba $
婧愮爜 framework/web/widgets/CTreeView.php
CTreeView 鏄剧ず鍒嗗眰鏁版嵁鐨勬爲褰㈠浘銆

杩欎釜绫诲皝瑁呬簡jQuery鐨勪竴涓紭绉鐨勬爲褰㈠浘鎻掍欢 (http://bassistance.de/jquery-plugins/jquery-plugin-treeview/).

瑕佷娇鐢–TreeView锛屽彧闇瑕佺畝鍗曞湴灏data璁剧疆涓轰綘鎵闇瑕 琛ㄧ幇鐨勬暟鎹嵆鍙

CTreeView涔熸敮鎸侀氳繃AJAX鍔ㄦ佸湴鍔犺浇鏁版嵁銆傝瀹屾垚姝ょ洰鐨勶紝璁剧疆 url涓哄彲浠ユ牴鎹姹傛彁渚涙爲褰㈠浘鎵闇鏁版嵁鐨刄RL銆

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
actionPrefix string actions鐨処D鐨勫墠缂銆 褰撳井浠跺湪CController::actions涓0鏄庝簡 鍔ㄤ綔鎻愪緵鑰咃紝鍙互涓哄叾鍔ㄤ綔鐨処D鎸囧畾鍓嶇紑浠ュ尯鍒 浜庡埆鐨勫井浠舵垨鎺у埗鍣ㄣ傚綋寰欢鐢ㄤ簬鎺у埗鍣 鐨勮鍥句腑鏃讹紝蹇呴』閰嶇疆鍚屾牱鐨勫墠缂銆 CWidget
animated string|integer 鍔ㄧ敾閫熷害銆傝繖涓煎彲浠ユ槸涓変釜棰勫畾涔夌殑閫熷害涔嬩竴 ("slow", "normal", or "fast")鎴栦互姣涓哄崟浣嶇殑鏁板硷紙渚嬪 1000锛夈 濡傛灉娌℃湁璁剧疆锛屽皢涓嶄細浣跨敤鍔ㄧ敾鏁堟灉銆 CTreeView
collapsed boolean 鏍戝舰鍥炬槸鍚﹂殢鐫鎵鏈夊垎鏀敹璧疯屽紑濮嬨傞粯璁ゅ兼槸false銆 CTreeView
control string 涓涓爲褰㈡帶浠剁殑瀹瑰櫒锛屽厑璁哥敤鎴烽氳繃涓娆$偣鍑诲畬鎴愬睍寮銆佹敹璧峰拰寮鍏虫墍鏈夊垎鏀 鍦ㄦ瀹瑰櫒涓紝鐐瑰嚮绗竴涓秴閾炬帴灏嗘敹璧锋爲褰㈠浘锛涚浜屼釜瓒呴摼鎺ュ睍寮鏍戝舰鍥撅紱绗笁涓秴閾炬帴鐢ㄤ簬 寮鍏虫爲褰㈠浘銆 杩欎釜灞炴ф槸涓涓湁鏁堢殑jQuery閫夋嫨鍣紙渚嬪锛屸#treecontrol鈥濄傝繖鍎库渢reecontrol鈥濇槸鍖 鍚湁杩欎簺瓒呴摼鎺ョ殑鈥淒IV鈥濆厓绱犵殑ID锛夈 CTreeView
controller CController 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ CWidget
cookieId string 閫氳繃"cookie"杩涜鎸佷箙鍖栨椂浣跨敤鐨刢ookie鐨勫悕瀛椼傞粯璁ゅ间负鈥渢reeview鈥濄 CTreeView
cssFile mixed 姝ゅ井浠朵娇鐢ㄧ殑CSS鏂囦欢銆傞粯璁や负null锛岃〃绀 浣跨敤姝ゅ井浠跺寘鍚殑榛樿CSS鏂囦欢銆 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄娇鐢–SS鏂囦欢銆傚叾浠栨儏鍐典笅锛屾寚瀹 鐨凜SS鏂囦欢灏嗚鍖呭惈鍦ㄦ寰欢涓 CTreeView
data array 鐢ㄤ簬鐢熸垚鏍戝舰鍥惧唴瀹圭殑鏁版嵁銆 姣忎釜鏁版嵁鍏冪礌鎸変互涓嬫牸寮忓搴斾簬涓涓爲褰㈠浘鑺傜偣锛
  • text: string, required, 涓庢鑺傜偣鍏宠仈鐨凥TML鏂囨湰銆
  • expanded: boolean, optional, 姝よ妭鐐规槸鍚︿负宸插睍寮鐘舵併
  • id: string, optional, 璇嗗埆姝よ妭鐐圭殑ID銆傜敤浜庡姩鎬佸姞杞芥爲褰 鍥撅紙鍙傝url锛夈
  • hasChildren: boolean, optional, 榛樿鍊间负false锛岀偣鍑绘 鑺傜偣鏄惁瑙﹀彂浠庢湇鍔″櫒鍔ㄦ佸姞鎬佹洿澶氭爲褰㈠浘鑺傜偣銆 蹇呴』璁剧疆url灞炴т互浣挎閫夐」鐢熸晥銆
  • children: array, optional, 姝よ妭鐐圭殑瀛愯妭鐐广
  • htmlOptions: array, 闄勫姞鐨凥TML灞炴э紙鍙傝CHtml::tag锛夈 姝ら夐」浠1.
CTreeView
htmlOptions array 闇瑕佸湪UL鏍囩涓繘琛屾覆鏌撶殑闄勫姞HTML灞炴с 鏍戝舰鍥鹃瀹氫箟浜嗕笅鍒桟SS绫伙紝 鍙互鐩存帴浣跨敤瀹冧滑锛
  • treeview-black
  • treeview-gray
  • treeview-red
  • treeview-famfamfam
  • filetree
CTreeView
id string 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 CWidget
options array 浼犻掔粰鏍戝舰鍥剧殑JavaScript瀵硅薄鐨勬瀯閫犲櫒鐨勯檮鍔犻夐」銆 CTreeView
owner CBaseController 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 CWidget
persist string 灏嗘爲鐨勭姸鎬佹寔涔呭寲鍒癱ookies涓垨椤甸潰浣嶇疆涓傚鏋滆缃负鈥渓ocation鈥濓紝瀵绘壘 鍖归厤鈥渓ocation. CTreeView
prerendered boolean 姝ゅ睘鎬ц缃负鐪熸椂灏嗕笉瀵圭偣鍑诲尯DIV鏍囩鍜孋SS绫绘覆鏌擄紝鍋囪鏈嶅姟鍣ㄧ宸插畬鎴愭宸ヤ綔銆傞粯璁ゅ兼槸false銆 CTreeView
skin mixed 寰欢浣跨敤鐨勭毊鑲ょ殑鍚嶇О銆傞粯璁や负鈥渄efault鈥濄 濡傛灉姝ゅ睘鎬ц缃负false锛屽井浠跺皢涓嶄細鏈夌毊鑲よ浣跨敤銆 CWidget
toggle string 寮鍏充竴涓垎鏀椂璋冪敤鐨勫洖璋冨嚱鏁般傚弬鏁帮細鈥渢his鈥濇寚鍚慤L琛ㄦ槑鏄樉绀烘垨闅愯棌 CTreeView
unique boolean 璁剧疆姝ゅ睘鎬у彲浠ュ疄鐜板湪鍚屼竴灞傛浠呭彲灞曞紑涓涓垎鏀紙鍦ㄥ睍寮鏃跺皢鍏抽棴鍏勫紵鍒嗘敮锛夈 榛樿鍊兼槸false銆 CTreeView
url string|array 鐢ㄤ簬鏍戝舰鍥惧姩鎬佸姞杞界殑URL锛堜娇鐢ˋJAX锛夈 鍙傝CHtml::normalizeUrl浠ヤ簡瑙e彲鐢ㄧ殑URL鏍煎紡銆 璁剧疆姝ゅ睘鎬у皢浣挎爲褰㈠浘鐨勫姩鎬佸姞杞藉彲鐢ㄣ 褰撻〉闈㈡樉绀哄悗锛屾祻瑙堝櫒灏嗕娇鐢ㄤ竴涓悕涓衡渞oot鈥濓紝鍊间负鈥渟ource鈥濈殑 GET鍙傛暟璇锋眰杩欎釜URL銆傛湇鍔″櫒鑴氭湰灏嗘牴鎹爲褰㈠浘鐨勬牴鐢熸垚鎵闇鐨勬爲褰 鍥炬暟鎹紙鍙傝saveDataAsJson锛夈 濡傛灉涓涓妭鐐规湁CSS绫烩渉asChildren鈥濓紝閭d箞灞曞紑杩欎釜鑺傜偣灏嗗鑷村 瀹冪殑瀛愯妭鐐圭殑鍔ㄦ佸姞杞姐傚湪杩欑鎯呭喌涓嬶紝GET鍙傛暟鈥渞oot鈥濈殑鍊兼槸姝よ妭 鐐圭殑ID灞炴у笺 CTreeView
viewPath string 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 CWidget

鍙椾繚鎶ゅ睘鎬

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
clientOptions array 杩斿洖JavaScript閫夐」銆 CTreeView

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__construct() 鏋勯犲櫒銆 CWidget
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
actions() 杩斿洖姝idget浣跨敤鐨勫姩浣滅殑鍒楄〃銆 CWidget
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
beginCache() Begins fragment caching. CBaseController
beginClip() Begins recording a clip. CBaseController
beginContent() Begins the rendering of content that is to be decorated by the specified view. CBaseController
beginWidget() Creates a widget and executes it. CBaseController
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
createWidget() Creates a widget and initializes it. CBaseController
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
endCache() Ends fragment caching. CBaseController
endClip() Ends recording a clip. CBaseController
endContent() Ends the rendering of content. CBaseController
endWidget() Ends the execution of the named widget. CBaseController
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
getController() 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ CWidget
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getId() 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 CWidget
getOwner() 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 CWidget
getViewFile() 鏍规嵁瑙嗗浘鍚嶆煡鎵捐鍥炬枃浠躲 CWidget
getViewPath() 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 CWidget
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
init() 鍒濆鍖栨寰欢銆 CTreeView
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
render() 娓叉煋涓涓鍥俱 CWidget
renderFile() Renders a view file. CBaseController
renderInternal() Renders a view file. CBaseController
run() 缁撴潫姝ゅ井浠剁殑杩愯銆 CTreeView
saveDataAsHtml() 鏍规嵁鏁扮粍涓殑鏁版嵁锛屽湪HTML椤甸潰鐢熸垚鏍戝舰鍥剧殑鑺傜偣銆 CTreeView
saveDataAsJson() 灏嗘爲褰㈠浘鏁版嵁淇濆瓨涓篔SON鏍煎紡銆 CTreeView
setId() 璁剧疆姝ゅ井浠剁殑ID銆 CWidget
widget() Creates a widget and executes it. CBaseController

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
getClientOptions() 杩斿洖杩斿洖JavaScript閫夐」銆 CTreeView

灞炴ц缁

animated 灞炴
public string|integer $animated;

鍔ㄧ敾閫熷害銆傝繖涓煎彲浠ユ槸涓変釜棰勫畾涔夌殑閫熷害涔嬩竴 ("slow", "normal", or "fast")鎴栦互姣涓哄崟浣嶇殑鏁板硷紙渚嬪 1000锛夈 濡傛灉娌℃湁璁剧疆锛屽皢涓嶄細浣跨敤鍔ㄧ敾鏁堟灉銆

clientOptions 灞炴 鍙
protected array getClientOptions()

杩斿洖JavaScript閫夐」銆

collapsed 灞炴
public boolean $collapsed;

鏍戝舰鍥炬槸鍚﹂殢鐫鎵鏈夊垎鏀敹璧疯屽紑濮嬨傞粯璁ゅ兼槸false銆

control 灞炴
public string $control;

涓涓爲褰㈡帶浠剁殑瀹瑰櫒锛屽厑璁哥敤鎴烽氳繃涓娆$偣鍑诲畬鎴愬睍寮銆佹敹璧峰拰寮鍏虫墍鏈夊垎鏀 鍦ㄦ瀹瑰櫒涓紝鐐瑰嚮绗竴涓秴閾炬帴灏嗘敹璧锋爲褰㈠浘锛涚浜屼釜瓒呴摼鎺ュ睍寮鏍戝舰鍥撅紱绗笁涓秴閾炬帴鐢ㄤ簬 寮鍏虫爲褰㈠浘銆 杩欎釜灞炴ф槸涓涓湁鏁堢殑jQuery閫夋嫨鍣紙渚嬪锛屸#treecontrol鈥濄傝繖鍎库渢reecontrol鈥濇槸鍖 鍚湁杩欎簺瓒呴摼鎺ョ殑鈥淒IV鈥濆厓绱犵殑ID锛夈

cookieId 灞炴
public string $cookieId;

閫氳繃"cookie"杩涜鎸佷箙鍖栨椂浣跨敤鐨刢ookie鐨勫悕瀛椼傞粯璁ゅ间负鈥渢reeview鈥濄

cssFile 灞炴
public mixed $cssFile;

姝ゅ井浠朵娇鐢ㄧ殑CSS鏂囦欢銆傞粯璁や负null锛岃〃绀 浣跨敤姝ゅ井浠跺寘鍚殑榛樿CSS鏂囦欢銆 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄娇鐢–SS鏂囦欢銆傚叾浠栨儏鍐典笅锛屾寚瀹 鐨凜SS鏂囦欢灏嗚鍖呭惈鍦ㄦ寰欢涓

data 灞炴
public array $data;

鐢ㄤ簬鐢熸垚鏍戝舰鍥惧唴瀹圭殑鏁版嵁銆 姣忎釜鏁版嵁鍏冪礌鎸変互涓嬫牸寮忓搴斾簬涓涓爲褰㈠浘鑺傜偣锛

娉ㄦ剰锛氬寘鍚湪鈥渂eginWidget鈥濆拰鈥渆ndWidget鈥濊繖涓や釜璋冪敤涔嬮棿鐨 浠讳綍鍐呭涔熷皢浣滀负鏍戝舰鍥剧殑鍐呭鐪嬪緟锛岃娣诲姞鍒拌繖涓睘鎬х敓鎴愮殑鍐呭 涔嬪悗銆

htmlOptions 灞炴
public array $htmlOptions;

闇瑕佸湪UL鏍囩涓繘琛屾覆鏌撶殑闄勫姞HTML灞炴с 鏍戝舰鍥鹃瀹氫箟浜嗕笅鍒桟SS绫伙紝 鍙互鐩存帴浣跨敤瀹冧滑锛

options 灞炴
public array $options;

浼犻掔粰鏍戝舰鍥剧殑JavaScript瀵硅薄鐨勬瀯閫犲櫒鐨勯檮鍔犻夐」銆

persist 灞炴
public string $persist;

灏嗘爲鐨勭姸鎬佹寔涔呭寲鍒癱ookies涓垨椤甸潰浣嶇疆涓傚鏋滆缃负鈥渓ocation鈥濓紝瀵绘壘 鍖归厤鈥渓ocation.href鈥濈殑閿氬苟婵娲诲畠鍦ㄦ爲褰㈠浘涓殑閮ㄥ垎銆 甯哥敤浜庡熀浜庤秴閾炬帴鐨勭姸鎬佷繚瀛樸傚鏋滆缃负鈥渃ookie鈥濓紝鍦ㄦ瘡娆$偣鍑诲悗 浼氬皢鏍戠殑鐘舵佷繚瀛樺埌涓涓猚ookie涓紝鐒跺悗鍦ㄩ〉闈㈠姞杞芥椂鎭㈠瀹冦

prerendered 灞炴
public boolean $prerendered;

姝ゅ睘鎬ц缃负鐪熸椂灏嗕笉瀵圭偣鍑诲尯DIV鏍囩鍜孋SS绫绘覆鏌擄紝鍋囪鏈嶅姟鍣ㄧ宸插畬鎴愭宸ヤ綔銆傞粯璁ゅ兼槸false銆

toggle 灞炴
public string $toggle;

寮鍏充竴涓垎鏀椂璋冪敤鐨勫洖璋冨嚱鏁般傚弬鏁帮細鈥渢his鈥濇寚鍚慤L琛ㄦ槑鏄樉绀烘垨闅愯棌

unique 灞炴
public boolean $unique;

璁剧疆姝ゅ睘鎬у彲浠ュ疄鐜板湪鍚屼竴灞傛浠呭彲灞曞紑涓涓垎鏀紙鍦ㄥ睍寮鏃跺皢鍏抽棴鍏勫紵鍒嗘敮锛夈 榛樿鍊兼槸false銆

url 灞炴
public string|array $url;

鐢ㄤ簬鏍戝舰鍥惧姩鎬佸姞杞界殑URL锛堜娇鐢ˋJAX锛夈 鍙傝CHtml::normalizeUrl浠ヤ簡瑙e彲鐢ㄧ殑URL鏍煎紡銆 璁剧疆姝ゅ睘鎬у皢浣挎爲褰㈠浘鐨勫姩鎬佸姞杞藉彲鐢ㄣ 褰撻〉闈㈡樉绀哄悗锛屾祻瑙堝櫒灏嗕娇鐢ㄤ竴涓悕涓衡渞oot鈥濓紝鍊间负鈥渟ource鈥濈殑 GET鍙傛暟璇锋眰杩欎釜URL銆傛湇鍔″櫒鑴氭湰灏嗘牴鎹爲褰㈠浘鐨勬牴鐢熸垚鎵闇鐨勬爲褰 鍥炬暟鎹紙鍙傝saveDataAsJson锛夈 濡傛灉涓涓妭鐐规湁CSS绫烩渉asChildren鈥濓紝閭d箞灞曞紑杩欎釜鑺傜偣灏嗗鑷村 瀹冪殑瀛愯妭鐐圭殑鍔ㄦ佸姞杞姐傚湪杩欑鎯呭喌涓嬶紝GET鍙傛暟鈥渞oot鈥濈殑鍊兼槸姝よ妭 鐐圭殑ID灞炴у笺

鏂规硶璇︾粏

getClientOptions() 鏂规硶
protected array getClientOptions()
{return} array 杩斿洖JavaScript閫夐」銆
婧愮爜锛 framework/web/widgets/CTreeView.php#168 (鏄剧ず)
protected function getClientOptions()
{
    
$options=$this->options;
    foreach(array(
'url','animated','collapsed','control','unique','toggle','persist','cookieId','prerendered') as $name)
    {
        if(
$this->$name!==null)
            
$options[$name]=$this->$name;
    }
    return 
$options;
}

init() 鏂规硶
public void init()
婧愮爜锛 framework/web/widgets/CTreeView.php#135 (鏄剧ず)
public function init()
{
    if(isset(
$this->htmlOptions['id']))
        
$id=$this->htmlOptions['id'];
    else
        
$id=$this->htmlOptions['id']=$this->getId();
    if(
$this->url!==null)
        
$this->url=CHtml::normalizeUrl($this->url);
    
$cs=Yii::app()->getClientScript();
    
$cs->registerCoreScript('treeview');
    
$options=$this->getClientOptions();
    
$options=$options===array()?'{}' CJavaScript::encode($options);
    
$cs->registerScript('Yii.CTreeView#'.$id,"jQuery(\"#{$id}\").treeview($options);");
    if(
$this->cssFile===null)
        
$cs->registerCssFile($cs->getCoreScriptUrl().'/treeview/jquery.treeview.css');
    else if(
$this->cssFile!==false)
        
$cs->registerCssFile($this->cssFile);

    echo 
CHtml::tag('ul',$this->htmlOptions,false,false)."\n";
    echo 
self::saveDataAsHtml($this->data);
}

鍒濆鍖栨寰欢銆 姝ゆ柟娉曟敞鍐屾墍鏈夊繀椤荤殑瀹㈡埛绔剼鏈劧鍚庢覆鏌 鏍戝舰鍥剧殑鍐呭銆

run() 鏂规硶
public void run()
婧愮爜锛 framework/web/widgets/CTreeView.php#160 (鏄剧ず)
public function run()
{
    echo 
"</ul>";
}

缁撴潫姝ゅ井浠剁殑杩愯銆

saveDataAsHtml() 鏂规硶
public static string saveDataAsHtml(array $data)
$data array 鏍戝舰鍥炬墍鐢ㄧ殑鏁版嵁锛堝弬瑙data浜嗚В鍙敤鐨勬暟鎹粨鏋勶級銆
{return} string 鐢熸垚鐨勬爲褰㈠浘鐨凥TML浠g爜銆
婧愮爜锛 framework/web/widgets/CTreeView.php#184 (鏄剧ず)
public static function saveDataAsHtml($data)
{
    
$html='';
    if(
is_array($data))
    {
        foreach(
$data as $node)
        {
            if(!isset(
$node['text']))
                continue;

            if(isset(
$node['expanded']))
                
$css=$node['expanded'] ? 'open' 'closed';
            else
                
$css='';

            if(isset(
$node['hasChildren']) && $node['hasChildren'])
            {
                if(
$css!=='')
                    
$css.=' ';
                
$css.='hasChildren';
            }

            
$options=isset($node['htmlOptions']) ? $node['htmlOptions'] : array();
            if(
$css!=='')
            {
                if(isset(
$options['class']))
                    
$options['class'].=' '.$css;
                else
                    
$options['class']=$css;
            }

            if(isset(
$node['id']))
                
$options['id']=$node['id'];

            
$html.=CHtml::tag('li',$options,$node['text'],false);
            if(!empty(
$node['children']))
            {
                
$html.="\n<ul>\n";
                
$html.=self::saveDataAsHtml($node['children']);
                
$html.="</ul>\n";
            }
            
$html.=CHtml::closeTag('li')."\n";
        }
    }
    return 
$html;
}

鏍规嵁鏁扮粍涓殑鏁版嵁锛屽湪HTML椤甸潰鐢熸垚鏍戝舰鍥剧殑鑺傜偣銆

saveDataAsJson() 鏂规硶
public static string saveDataAsJson(array $data)
$data array 鏍戝舰鍥炬墍鐢ㄧ殑鏁版嵁锛堝弬瑙data浜嗚В鍙敤鐨勬暟鎹粨鏋勶級銆
{return} string 浠SON鏍煎紡琛ㄧず鐨勬暟鎹
婧愮爜锛 framework/web/widgets/CTreeView.php#239 (鏄剧ず)
public static function saveDataAsJson($data)
{
    if(empty(
$data))
        return 
'[]';
    else
        return 
CJavaScript::jsonEncode($data);
}

灏嗘爲褰㈠浘鏁版嵁淇濆瓨涓篔SON鏍煎紡銆 閫氬父鍦ㄥ綋鏈嶅姟鍣ㄧ浠g爜闇瑕佸皢 鏍戝舰鍥炬暟鎹彂閫佸埌瀹㈡埛绔椂浣 鐢ㄦ鏂规硶銆

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