1

您好我正在使用来自http://www.yiiframework.com/doc/api/1.1/CMenu的测试代码

$this->widget('zii.widgets.CMenu', array(
'items'=>array(
    // Important: you need to specify url as 'controller/action',
    // not just as 'controller' even if default acion is used.
    array('label'=>'Home', 'url'=>array('site/index')),
    // 'Products' menu item will be selected no matter which tag parameter value is since it's not specified.
    array('label'=>'Products', 'url'=>array('product/index'), 'items'=>array(
        array('label'=>'New Arrivals', 'url'=>array('product/new', 'tag'=>'new')),
        array('label'=>'Most Popular', 'url'=>array('product/index', 'tag'=>'popular')),
    )),
    array('label'=>'Login', 'url'=>array('site/login'), 'visible'=>Yii::app()->user->isGuest),
),

));

其他测试代码,如 zii.widgets.jui.CJuiAutoComplete 和 zii.widgets.jui.CJuiDraggable 在我的 Yii 视图中工作正常......

CMenu 代码片段只是将链接显示为分层列表。

当使用 id 为 mainmenu 的 div 时,事情似乎有所改善......然后我尝试使用很多嵌套数组:

http://sky-walker.net/temp/test/yii/testnews/index.php?r=site/test

它支持5层以上的数组嵌套...

但是,如果我突出显示/全选它(以显示白色菜单链接),它就不能很好地显示层次结构......

我想知道它是否可以是一个弹出菜单,如果父母悬停在上面,会逐渐显示孩子?

我还尝试从布局的 main.php 中禁用 id 为 mainmenu 的 div。

4

2 回答 2

0

好的,在看到你所拥有的之后,按照我的例子:

<div id="mainmenu">
                <?php
                $this->widget('zii.widgets.CMenu', array(
                    'items' => array(
                        array('label' => 'linkbook', 'url' => array('/site/index')),
                        array('label' => 'About', 'url' => array('/site/page', 'view' => 'about')),
                        array('label' => 'Contact', 'url' => array('/site/contact')),
                        array('label' => 'Suggest Website', 'url' => array('/websiteSuggest/index'),'visible' => !Yii::app()->user->isGuest),
                        array('label' => 'Servers', 'url' => array('/server/index'),'visible' => !Yii::app()->user->isGuest),
                        array('url' => Yii::app()->getModule('user')->loginUrl, 'label' => Yii::app()->getModule('user')->t("Login"), 'visible' => Yii::app()->user->isGuest),
                        array('url' => Yii::app()->getModule('user')->registrationUrl, 'label' => Yii::app()->getModule('user')->t("Register"), 'visible' => Yii::app()->user->isGuest),
                        array('url' => Yii::app()->getModule('user')->profileUrl, 'label' => Yii::app()->getModule('user')->t("Profile"), 'visible' => !Yii::app()->user->isGuest),
                        array('url' => Yii::app()->getModule('user')->logoutUrl, 'label' => Yii::app()->getModule('user')->t("Logout") . ' (' . Yii::app()->user->name . ')', 'visible' => !Yii::app()->user->isGuest),
                    ),
                ));
                ?>
     </div><!-- mainmenu -->

            <br/>

            <div id="mainmenu">
                <?php
                $this->widget('zii.widgets.CMenu', array(
                    'items' => array(
                        array('label' => 'Website', 'url' => array('/website/index'), 'visible' => !Yii::app()->user->isGuest),
                        array('label' => 'Url', 'url' => array('/url/index'), 'visible' => !Yii::app()->user->isGuest),
                        array('label' => 'Pattern Url', 'url' => array('/patternUrl/index'), 'visible' => !Yii::app()->user->isGuest),
                    ),
                ));
                ?>
            </div>
于 2013-01-11T11:30:28.920 回答
0

我现在正在使用 MbMenu Yii 扩展...

http://www.yiiframework.com/extension/mbmenu

它非常易于安装和使用,似乎 CMenu 的输入数组可以与它一起重用(以及 CssMenu Yii 扩展)......

它位于底部: http ://sky-walker.net/temp/test/yii/testnews/index.php?r=site/test

于 2013-01-11T23:36:10.700 回答