给zbp添加模块编辑页输出接口:Filter_Plugin_Module_Edit_Response

先看效果:

QQ图片20141116222901.png

最近在使用自定义字段插件的时候发现有文章页、用户、分类、标签的自定义字段,但是模块编辑页却没有,而且我最近想在模块上做做手脚,所以我找到模块编辑员的源代码,发现没有接口,而且在官网上也没有这个接口的介绍。所以我查看别的文章、用户、分类、标签的编辑页以及后续代码,发现了写规律。所以自己跟着修改成一样的,所以实现到最后,成功了。可以这样来实现功能。下面介绍步骤:

1. 找到模块编辑页文件:module_edit.php。找到适当位置,比如我放在如下地方:(maxli后面)

<p id="pMaxLi" style="<?php echo $mod->Type=='div'?'display:none;':'';?>" >
	    <span class='title'><?php echo $lang['msg']['max_li_in_ul']?>:</span><br/>
	    <input type="text" name="MaxLi" value="<?php echo $mod->MaxLi;?>" size="40"  />
	  </p>
	  <div id='response' class='editmod2'>
      <?php
      foreach ($GLOBALS['Filter_Plugin_Module_Edit_Response'] as $fpname => &$fpsignal) {$fpname();}
      ?>
	   </div>

2.当然这样还不行。需要到c_system_plugin.php文件里添加该接口内容:代码如下(要添加在类似接口的地方)

/*
'**************************************************<
'类型:Filter(2014-11-16 涂涂研版添加)
'名称:Filter_Plugin_Module_Edit_Response
'参数:$mod
'说明:定义Filter_Plugin_Module_Edit_Response函数的接口
'调用:
'**************************************************>
*/

DefinePluginFilter('Filter_Plugin_Module_Edit_Response');

3.到这一步虽然可以在一模块编辑页面通过这个接口添加部分代码了,但是模块数据却不能操作。需要在如下文件:

c_system_event.php,找到模块数据提交部分添加代码:

FilterMeta($mod);

位置要注意。整个代码如下:

FilterModule($mod);
FilterMeta($mod);
$mod->Save();

4.在插件里(后台)调用数据代码是:

$mod->Metas->选项参数

前台(模板)里调用代码:

{$module.Metas.选项参数}

欢迎大家前来讨论,谢谢指点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请通知我们,一经查实,本站将立刻删除。


客服