Zurmo(十四)之ListView重写SecuredActionBar

53 篇文章 0 订阅
51 篇文章 0 订阅

功能描述,如下图:

这里写图片描述

把某个模块的list页面上方的导航栏重写!

方法如下:

1:在模块对应的Controller里的actionList里

$mixedView = $this->makeActionBarSearchAndListView($searchForm,$dataProvider,'SecuredActionBarForXXXsSearchAndListView');
$view = new XXXsPageView(ZurmoDefaultViewUtil::
                    makeStandardViewForCurrentUser($this, $mixedView));

SecuredActionBarForXXXsSearchAndListView 这个参数原来是默认没有的,没这个参数的话得到的SecuredActionBar 是4个按钮的。加了这个参数目的是重写这个页面。

2:在模块的views目录下新建一个叫SecuredActionBarForXXXsSearchAndListView.php的文件,在这里重写方法:

3:具体参考accounts模块的SecuredActionBarForAccountsSearchAndListView.php文件,部分代码如下:

        public static function getDefaultMetadata()
        {
            $metadata = array(
                'global' => array(
                    'toolbar' => array(
                        'elements' => array(
//                             array(
//                                 'type'            => 'ListViewMergeMenu',
//                                 'iconClass'       => 'icon-merge',
//                                 'listViewGridId'  => 'eval:$this->listViewGridId',
//                                 'pageVarName'     => 'eval:$this->pageVarName'
//                             )
                        ),
                    ),
                ),
            );
            return CMap::mergeArray(parent::getDefaultMetadata(), $metadata);
        }

看到代码

return CMap::mergeArray(parent::getDefaultMetadata(), $metadata);

parent::getDefaultMetadata() 就是原理默认的4个按钮的代码,要重写的话,就把这个方法的代码重新写过,到时候这里换成

return CMap::mergeArray(重写后的方法调用, $metadata);

再调用就行了。

4:上述描述的减少按钮的,要增加按钮的话,在getDefaultMetadata()的elements多加几个就行了。

5:parent::getDefaultMetadata() 的代码在 ActionBarForSearchAndListView.php 里。

这里写图片描述

具体的代码就自己去看吧。如有不对,请指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值