通过SERVICES的方式往商品列表FINDER加入多个ACTION

类似这样的效果:

首先我们需要在自己的app下的services.xml加入一个service:

1 <!-- b2c商品信息 扩展actions -->
2 <service id="b2c.goods_finder_actions">
3     <class>app_b2c_goods</class>
4 </service>

然后进入app/base,进行cmd update操作。

然后你需要在b2c/controller/admin/goods.php中index方法下加入这段话:

1 //二开增加一个扩展商品列表按钮的接口
2 foreach(kernel::servicelist('b2c.goods_finder_actions') as $object)
3 {
4     if(is_object($object) && method_exists($object,'get_extends_actions')) {
5         $actions = $object->get_extends_actions($this);
6         $custom_actions=array_merge($custom_actions,$actions);
7     }
8 }

接着在你的app下建立对应的lib文件夹和文件,并且下以下的代码:

 1 <?php
 2 class app_b2c_goods{
 3     public function get_extends_actions($obj){
 4         $action[]=array(
 5             'label'=>app::get('supplier')->_('你要加的按钮'),
 6                     'icon'=>'add.gif',
 7                     'href'=>'index.php?app=app&ctl=admin_b2c_goods&act=youract',
 8                     'target'=>'dialog::{title:\'你要加的按钮\',width:400,height:120}');
 9         return $action;
10     }
11 }

这样你就可以任意在商品列表的finder下加入action了!

posted @ 2014-11-05 17:00  cheungkaming  阅读(198)  评论(0编辑  收藏  举报