sxtuwy 2012-02-09 08:53:21 3693次浏览 13条回复 0 0 0

[attach]611[/attach][attach]612[/attach]

  • 回复于 2012-02-09 10:30 举报
    <?php
    $this->beginWidget('zii.widgets.CPortlet', array(
        'title'=>'Operations',//好像是这里哈!
    ));
    $this->widget('zii.widgets.CMenu', array(
        'items'=>$this->menu,
        'htmlOptions'=>array('class'=>'operations'),
    ));
    $this->endWidget();
    ?>
    
  • 回复于 2012-02-09 20:04 举报

    楼上正解!

  • 回复于 2012-02-10 16:05 举报

    你那样写,太复杂了,只是把下面的代码简单的改一下,怎么能改标题。因为下面的代码自动调用了你上面帖子里面发的内容。

  • 回复于 2012-02-11 10:55 举报

    不知道是我理解有问题还是你的有问题,我想应该是这样的:

    <?php
    $this->beginWidget('zii.widgets.CPortlet', array(
        'title'=>'Operations',//好像是这里哈!
    ));
    $this->widget('zii.widgets.CMenu', array(
        'items'=>$this->menu,
        'htmlOptions'=>array('class'=>'operations'),
    ));
    $this->endWidget();
    ?>
    

    代码里边

    $this->widget('zii.widgets.CMenu', array(
        'items'=>$this->menu,
        'htmlOptions'=>array('class'=>'operations'),
    ));
    

    这是完成

    中为列表内容,而
    $this->beginWidget('zii.widgets.CPortlet', array(
        'title'=>'Operations',//好像是这里哈!
    ));
    

    这里边是完成了上面menu的Widget显示区域,你上面提供的$this->menu只是提供了CMenu所需要的部分数据,它影响不到beginWidget这块的,这是我的理解,欢迎指正

  • 回复于 2012-02-11 11:16 举报

    你这里得手动引用cportlet,自动生成的代码里面没有手动引用,只要简单的使用$this->menu()即可,我是问如何在这里设置。

  • 回复于 2012-02-11 12:15 举报

    :shutup:
    很抱歉,我没明白你的意思,很可能你是说的这样:
    用gii生成的view代码里边(如index.php里边),有

    $this->menu=array(
        array('label'=>'Create Post', 'url'=>array('create')),
        array('label'=>'Manage Post', 'url'=>array('admin')),
    );
    

    但这个$this->menu是为latouts/column2.php里边

    <?php
    $this->beginWidget('zii.widgets.CPortlet', array(
        'title'=>'Operations',
    ));
    $this->widget('zii.widgets.CMenu', array(
        'items'=>$this->menu,
        'htmlOptions'=>array('class'=>'operations'),
    ));
    $this->endWidget();
    ?>
    

    中的items提供数据,如果你想要在不同的页面用不同的标题,我觉得可以这样:
    在components/Controller.php里边添加一个public $widget_title='';然后在每个页面(如上面提到的index.php)中添加:
    $this->widget_title='这是标题' ;并修改latouts/column2.php中的内容

    <?php
    $this->beginWidget('zii.widgets.CPortlet', array(
        'title'=>$this->widget_title,
    ));
    $this->widget('zii.widgets.CMenu', array(
        'items'=>$this->menu,
        'htmlOptions'=>array('class'=>'operations'),
    ));
    $this->endWidget();
    ?>
    
  • 回复于 2012-02-11 12:16 举报

    我想直接在Cmeun中修改CPortlet的标题是不能的吧

  • 回复于 2012-02-11 13:10 举报

    老兄,我终于明白您的意思了。你讲的太详细了,让我太感动了。我觉得我以后也要像您这样讲解给别人。

  • 回复于 2012-02-11 13:15 举报

    哈哈~~能明白就行!!!

  • 回复于 2012-02-17 10:56 举报

    samubra V5 中国多几个这样的人 yii在中国能传播的更广

  • 回复于 2012-08-24 09:18 举报

    看到一个好贴,不由得想顶一下

  • 回复于 2012-08-24 09:33 举报

    samubra 好人24k的

  • 回复于 2012-09-09 12:49 举报

    :victory:好,详细

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