Example #1
0
/**
 * 格式化数据为层级化数据
 * @param type $data 需要格式化的
 * @param type $format 数据的原索引格式[主键字段名(例如id),层级字段名(例如pid)]
 * @param type $pid
 * @return type 
 */
function formatLevelData2($data, $format, $pid = 0)
{
    $arr = array();
    foreach ($data as $v) {
        if ($v[$format[1]] == $pid) {
            $arr[$v[$format[0]]] = $v;
            $arr[$v[$format[0]]]["son_data"] = formatLevelData2($data, $format, $v[$format[0]]);
        }
    }
    return $arr;
}
Example #2
0
 function menuList()
 {
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         foreach ($_POST['sort'] as $key => $value) {
             $this->backend_menu->updateMenu('id=' . $key, array('sort' => $value));
             go('menuList');
         }
     }
     $menus = $this->backend_menu->backend_menu->findall();
     $menus = formatLevelData2($menus, array('id', 'parent_id'));
     $this->assign('menus', $menus);
     $this->display();
 }
Example #3
0
 public function arcList()
 {
     $channels = $this->channel->field('id,pid,title,type')->findall();
     $this->assign('channels', formatLevelData2($channels, array('id', 'pid')));
     $this->display();
 }
Example #4
0
 /**
  * 修改节点
  */
 public function editNode()
 {
     $db = M('node');
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $db->where('nid=' . $_GET['nid'])->update();
         $this->success('修改节点信息成功', 'nodeList');
     }
     $node = $db->where('nid=' . $_GET['nid'])->find();
     $nodes = $db->field('nid,title,pid')->order('sort,nid')->findall();
     $nodes = formatLevelData2($nodes, array('nid', 'pid'));
     $this->assign('nodes', $nodes);
     $this->assign('node', $node);
     $this->display();
 }