╃巡洋艦㊣ 2011-06-26 20:44:22 10754次浏览 69条回复 0 0 0

刚做了基于Nestedset的无级限分类,左侧菜单是使用CTreeView做的,两者结合起来非常好用,非常强大!

下面是效果demo:
[attach]207[/attach]

MySQL数据库脚本:
[attach]205[/attach]

Yii Framework无级限分类源码:
[attach]206[/attach]

  • 回复于 2011-07-08 09:00 举报

    请问。什么用法???

  • 回复于 2011-07-08 09:31 举报

    看错了 原来这个可以直接引用 的

  • 回复于 2011-07-14 11:17 举报

    这个必须支持:)

  • 回复于 2011-07-19 16:07 举报

    支持!!!!!!!!!!!!!!!

  • 回复于 2011-07-19 18:33 举报

    ding!!!!!!!!!!!!!!!!!!!!!!!

  • 回复于 2011-07-22 10:25 举报

    好东西,好家伙

  • 回复于 2011-07-26 18:19 举报

    多谢舰长。
    我这边试用了一下,靠谱。
    有个小问题请教一下,页面刚装载进来的时候,树的包含子节点的节点左边是圆点,而非正常的加减号,不能做折叠和展开操作。此时浏览器状态栏显示【正在和服务器传输数据】,需要过1分钟左右,才“传输完毕”,圆点变成加减号,才可以做折叠展开操作。不知道大家有遇到同样问题么?

  • 回复于 2011-07-26 18:19 举报

    什么浏览器?我这里正常啊!

  • 回复于 2011-07-26 18:35 举报

    ff4,请参考附图:
    [attach]272[/attach]

  • 回复于 2011-07-26 18:39 举报

    刚验证了一下,在我机器上,马桶3和ie9的情况也一样。
    可能是其它条件的影响?
    我这儿的运行环境:xampp 1.7.4

    + Apache 2.2.17
    + MySQL 5.5.8 (Community Server)
    + PHP 5.3.5 (VC6 X86 32bit) + PEAR 
    

    win7 64bit 旗舰

  • 回复于 2011-07-26 18:40 举报

    这个我也不清楚了,我这里IE,FF都正常!

  • 回复于 2011-07-27 23:17 举报

    真的很好啊。。。加油搞。。。

  • 回复于 2011-07-28 11:45 举报

    舰长应该把sql放在data目录下的。。。
    既有效又节约咱的金钱啊

  • 回复于 2011-07-29 18:42 举报

    @舰长
    速度慢的问题调查清楚了。是Xdebug导致的,将Xdebug停用就好了。

    另有一个问题。TreeController.php里面有这样一段代码:

    public function actionUpdate($id)
    {
        $model=$this->loadModel($id);
        $model->parent = $model->getParentNode()->id;
    
        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);
    
        if(isset($_POST['Tree']))
        {
            $model = $this->loadModel($id);
            $parent = $this->loadModel($_POST['Tree']['parent']);
            if($model->getParentNode()->getIDValue() != $parent->getIDValue())
                $result = $model->moveBelow($parent);
    
            $model->attributes=$_POST['Tree'];
            if($model->save())
                $this->redirect(array('admin'));
        }
    
        $this->render('update',array(
            'model'=>$model,
        ));
    }
    

    其中 $model->parent = $model->getParentNode()->id; 这一句,Tree.php里面并没有 getParentNode 这个函数,为什么却可以运行?实际上是调用了TreeBehavior.php里面的同名函数么?Tree和TreeBehavior没有直接继承关系,怎么会可以互相调用呢?百思不得其解。

    第二个问题,如果在admin界面中update id为1的那条记录,会报告 Trying to get property of non-object 错误。php的错误信息指向 $model->parent = $model->getParentNode()->id; ,应该是id为1的这条记录没有Parent了吧?

    以上。

  • 回复于 2011-07-30 10:48 举报

    好东西 正好要用

  • 回复于 2011-07-31 22:29 举报

    学习了,来接分了

  • 回复于 2011-09-01 09:43 举报

    花了几十个大洋啊,下来看看

  • 回复于 2011-09-09 13:49 举报

    偷偷地藏起来,已备后用

  • 回复于 2011-09-09 15:06 举报

    很强大,收藏了

  • 回复于 2011-09-14 16:45 举报

    灰常感谢舰长分享。

您需要登录后才可以回复。登录 | 立即注册