·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

Discuz! 中实现不同版块使用不同的模板文件的方法

253 1
发表于 2023-4-21 17:25:45 | 显示全部楼层 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
通过此修改可在Discuz!X1后台为不同版块设置不同的模板文件。在需要为论坛不同版块设置不同模板风格的时候特别有用,比如你专门一个版块用来发布活动,那么可以为这个版块专门做一个模板文件,从而实现个性化的要求:
安装步骤
第一步:升级数据库
  1. ALTER TABLE `pre_forum_forum` ADD `ffile` CHAR( 40 ) NOT NULL AFTER `styleid` , ADD `vfile` CHAR( 40 ) NOT NULL AFTER `ffile`;
复制代码
第二步:修改source/admincp/admincp_forums.php文件
找到以下代码
  1. showsetting('forums_edit_extend_threadcache', 'threadcachesnew', $forum['threadcaches'], 'text');
复制代码
在下面添加
//----edit
  1. showsetting('forums_edit_extend_ffile', 'ffilenew', $forum['ffile'], 'text');
  2. showsetting('forums_edit_extend_vfile', 'vfilenew', $forum['vfile'], 'text');
复制代码
//----edit找到以下代码
  1. 'styleid' => $_G['gp_styleidnew'],
复制代码
在下面添加
//----edit
  1. 'ffile' => $_G['gp_ffilenew'],
  2. 'vfile' => $_G['gp_vfilenew'],
复制代码
//----edit
第三步:修改source/module/forum/forum_forumdisplay.php
找到以下代码
  1. include template($template);替换成
复制代码
//eidt
  1. if($_G['forum']['ffile'])
  2.     $skinfile=$_G['forum']['ffile'];
  3. else
  4.     $skinfile = $template;
  5. include template($skinfile);
复制代码
//eidt
第四步:修改source/module/forum/forum_viewthread.php
找到以下代码
  1. include template('diy:forum/viewthread'.$sufix.':'.$_G['fid']);替换成
复制代码
//eidt
  1. if($_G['forum']['vfile']){
  2.     include template($_G['forum']['vfile']);
  3. }else{
  4.     include template('diy:forum/viewthread'.$sufix.':'.$_G['fid']);
  5. }
复制代码
//eidt
第五步:修改source/language/lang_admincp.php
找到以下代码
  1. 'forums_edit_extend_threadcache_comment' => '此功能可以将游客经常访问的主题临时缓存起来,缓解大型服务器压力。系数范围 0~100,建议数值 20 ~ 40,0 为关闭缓存。在磁盘空间允许的情况下,适当调高缓存系数,可以提高缓存效果
复制代码
注:版块设置完毕后请到 基本设置 -> 站点页面缓存设置,调整其缓存时间。',在下面添加
//----edit
  1. 'forums_edit_extend_ffile' => '版块模板文件:',
  2. 'forums_edit_extend_ffile_comment' => '填写格式如forum/forumdisplay,请在特殊需要时进行设置,若为空则默认为forumdisplay',
  3. 'forums_edit_extend_vfile' => '版块主题模板文件:',
  4. 'forums_edit_extend_vfile_comment' => '填写格式如forum/viewthread,请在特殊需要时进行设置,若为空则默认为viewthread',
复制代码
//----edit
第六步:进入后台更新缓存后进入【论坛/版块/编辑/扩展设置】即可看到相应的设置
设置:版块模板文件、版块主题模板文件
注意:设置模板文件不需要填写此文件的后缀名
例子:模板文件为test.htm则只需填写forum/test即可

源文地址:https://blog.csdn.net/weixin_28689809/article/details/116524606

注:此方法要修改数据库、php文件,步骤繁琐,好处就是:应该会比插件改模板运行效率要高。
我要说一句 收起回复

评论1

独家记忆Lv.8 发表于 2023-4-21 17:25:50 | 显示全部楼层
  1. 分享下代码
  2. <?php
  3. class plugin_bbs{
  4.     function common(){
  5.         //模块执行前调用,全局函数
  6.         global $_G;
  7.         $style_id = 14;//模块的id 我这里写死了,在你后台添加风格模版的时候可以看到styleid
  8.         if(getcookie("app")){ //判断条件,可以不要
  9.             if($style_id ){
  10.                 loadcache("style_".$style_id);
  11.                 if($_G['cache']['style_'.$style_id]){
  12.                     $_G['style'] = $_G['cache']['style_'.$style_id];
  13.                 }
  14.             }
  15.             define("IMGDIR",$_G['style']['imgdir']);
  16.             define("STYLEID",$_G['style']['styleid']);
  17.             define("VERHASH",$_G['style']['verhash']);
  18.             define("TPLDIR",$_G['style']['tpldir']);
  19.             define("TEMPLATEID",$_G['style']['templateid']);                     
  20.         }
  21.     }
  22. }
复制代码
源文地址:https://www.cnblogs.com/57sy/archive/2012/12/04/3203715.html
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:52.14.85.76,182.84.110.69,GMT+8, 2024-5-5 15:51 , Processed in 0.192826 second(s), 77 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表