function generateTree($items) { $items = Db::name('tree')->column('id,pid,name'); $tree = array(); foreach ($items as $item) { if (isset($items[$item['pid']])) { $items[$item['pid']]['son'][] = &$items[$item['id']]; } else { $tree[] = &$items[$item['id']]; } } return $tree; } $tree = generateTree(0); function getTreeData($tree) { foreach ($tree as $t) { echo "<li><span><i " . "class=\"icon-minus-sign\"></i>" .$t["name"]. "</span>\n<a href=\"info.php?id=".$t["id"]."\" target=\"_blank\">详细</a><ul>\n"; if (isset($t['son'])) { getTreeData($t['son']); } echo "</ul>\n</li>\n"; } } $list = getTreeData($tree); $this->assign('list',$list); return $this->view->fetch(); }
静的ファイルは次のようになります。
は
に直接出力され、制御不能になります。変数
1レベルのみを出力し、それ以降は出力されません。
マスター、書き方を教えてください、ありがとう.
制御不能になっているわけではありません。この関数はエコーします。エコーを削除するだけです。配列は変数とともに直接返されます。
ビューに直接接続します。
ページには何も書かず、コントローラーから転送された変数を印刷して内容を確認するだけです