请选择 进入手机版 | 继续访问电脑版

Discuz开发如何让Discuz插件页面也支持DIY调用的方法

大掌柜 楼主 发表于 2020-3-29 20:41:48 显示全部楼层 回复 : 0 浏览 : 984
DZ默认插件是不支持DIY的,其实他和单页里面实现DIY的方法非常接近,下面就来分享一下。

discuz x系列插件添加一个DIY的功能,看上去应该蛮简单,但是很少有插件支持DIY的功能。默认模板的diy的代码:

<!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->

如果要在该页面其它地方添加其它的DIY功能可以如下处理:

<!--[diy=diy2]--><div id="diy2" class="area"></div><!--[/diy]-->

但是把该代码copy到插件模板文件中,一打开插件页面,发现DIY功能没有显示。难道又缺少啥代码,当时想到的是diy功能的按钮,于是找到该位置的代码:

template/default/common/header.htm

代码:

<!--{if CURMODULE != 'topic' && $_G['group']['allowdiy'] && !empty($_G['style']['tplfile']) || CURMODULE == 'topic' && !empty($_G['style']['tplfile']) && ($_G['group']['allowaddtopic'] && $topic['uid'] == $_G['uid'] || $_G['group']['allowmanagetopic'])}-->
<a id="diy-tg" href="javascript:openDiy();" title="{lang open_diy}" class="xi1 xw1">DIY</a>
<!--{/if}-->

于是就找CURMODULE以及 $_G['style']['tplfile']对应的值是否通过?

CURMODULE: 是当前插件的名称

$_G['style']['tplfile']: 对应页面的路径

假如是门户首页该值显示为portal/index

现在的问题就是$_G['style']['tplfile']没有初始化,所以diy功能不能通过。

于是给$_G['style']['tplfile']赋值:

loadcache('diytemplatename');
$_G['style']['tplfile'] = "/../../source/plugin/fenggeba_page/template/main";
include template('fenggeba_page:main');

一测试,确实DIY按钮显示出来,然后再对应的地方添加DIY模块,然后保存,OK。通过了!
建站找资源,就上风格吧!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Lv.9 管理员
浙江省杭州市| 站长大人
学习网站建设就上风格吧!
  • 8关注
  • 5粉丝
  • 78主题

热门话题

最新帖子

  • 大掌柜 大掌柜 5月8日

    帖子: 抢楼帖测试一下

  • 青春小鸟 青春小鸟 5月8日

    银色柳腰花态万千,耀眼迷人的柳岩在聚光灯下的提线木偶写真#不潮不出街#真心不错,拍

    帖子: 柳岩聚光灯下的提线木偶写真#不潮不出街#银

  • 青春小鸟 青春小鸟 5月8日

    为什么人总是喜欢美女?性感是一种气质,女人要让自己变得更性感。就算有魔鬼身材如果

    帖子: 性感源于自身的易阳深沟迷人写真令人惊艳

  • 手机版|小黑屋|风格源码社区 ( 浙ICP备15035878号-2 )

    © 2001-2025 Comsenz Inc.  Powered by Discuz! X3.4

    1
    QQ