默认插件是不支持DIY的,也尝试了很多方法都无法实现,今天在一个博客看到有人写一篇相关的博客,看上去和单页里面实现DIY的方法非常接近,下面我就来搬过来分享下,以后有机会再进行验证。
discuz x系列插件添加一个DIY的功能,看上去应该蛮简单,但是很少有插件支持DIY的功能。默认模板的diy的代码:
如果要在该页面其它地方添加其它的DIY功能可以如下处理:
但是把该代码copy到插件模板文件中,一打开插件页面,发现DIY功能没有显示。难道又缺少啥代码,当时想到的是diy功能的按钮,于是找到该位置的代码:
template/default/common/header.htm
代码:
DIY
复制代码
于是就找CURMODULE以及 $_G['style']['tplfile']对应的值是否通过?
CURMODULE: 是当前插件的名称
$_G['style']['tplfile']: 对应页面的路径
假如是门户首页该值显示为portal/index
现在的问题就是$_G['style']['tplfile']没有初始化,所以diy功能不能通过。
于是给$_G['style']['tplfile']赋值:
loadcache('diytemplatename');
$_G['style']['tplfile'] = "/../../source/plugin/zb7com_page/template/main";
include template('zb7com_page:main');
复制代码
一测试,确实DIY按钮显示出来,然后再对应的地方添加DIY模块,然后保存,OK。通过了
还没有评论,来说两句吧...