【问题标题】:Modifying Yii Portlet Layout修改 Yii Portlet 布局
【发布时间】:2013-01-15 10:13:51
【问题描述】:

是否可以修改 Yii Portlet 的布局?

在我的应用程序中,我想使用一个 Portlet 来允许用户管理某些控制器,而带有 htmlOptions 的 Portlet 似乎非常合适,但我想更改它使用的布局/视图。

有什么建议吗?

【问题讨论】:

    标签: yii


    【解决方案1】:

    HtmlOptions 让你在容器标签中添加一些选项。

    这个小部件没有使用视图。

    如果你想修改标题的呈现方式,那么你应该重写方法renderDecoration()。它的默认代码是:

    protected function renderDecoration() 
    { 
        if($this->title!==null) 
        { 
            echo "<div class=\"{$this->decorationCssClass}\">\n"; 
            echo "<div class=\"{$this->titleCssClass}\">{$this->title}</div>\n"; 
            echo "</div>\n"; 
        } 
    }
    

    要自定义样式,您可以更改contentCssClassdecorationCssClasstitleCssClass

    然后要更改 Portlet 的内容,您必须覆盖默认为空的方法 renderContent()。也可以设置如下内容:

    <?php $this->beginWidget('zii.widgets.CPortlet'); ?>
        ...insert content here...
    <?php $this->endWidget(); ?>
    

    【讨论】: