discuz如何做到不同主题调取不同的独立diy内容

  • 原创
  • |
  • 浏览:266
  • |
  • 更新:

要实现这个discuz如何做到不同主题调取不同的diy或者说是调取相对应的diy?复制采集君,你好,今天你复制粘贴,发财了吗?还真没那么简单,我尝试了很多种办法,zui终通过大胆猜想和尝试实践之后,才想到怎么来实现这个功能,很辛苦,很累!实现的基本原理就是,先给某个特定的主题(你想要做这个主题核心关键词排名的主题)做一个特定的单独模板,这得益于我原来研究和精通dede程序的启发来源。单独设置一个主题,然后再去创建diy的时候就不会跟其他页面的diy内容有冲突了,这样的话,单独一个专用的模板所调取的diy内容就会与其他所有版块完全不同,这样就不会那么死板去调取公共部分了,这样也利于SEO。我都快要佩服我自己的聪明才智和牛叉的智慧了!

工具/原料

  • 电脑
  • 浏览器

方法/步骤

  1. 1

    费话不多说,按步骤来操作,首先要在数据库的一个表 pre_forum_forum 新增两个字段,分别是 标识 主题的列表页模板 vfile:

     

    ALTER TABLE `pre_forum_forum` ADD `ffile` CHAR( 40 ) NOT NULL AFTER `styleid` , ADD `vfile` CHAR( 40 ) NOT NULL AFTER `ffile`;

  2. 2

    接着要添加你能在后台看得见的一些表单:

     

    打开 source/module/forum/forum_forumdisplay.php,ctrl+f 寻找代码:

     

    $template = 'diy:forum/forumdisplay:'.$_G['fid'];

  3. 3

    然后在上面的代码下面添加代码:

     

    $template2 = 'diy:'.$_G['forum']['ffile'].':'.$_G['fid'];

  4. 4

    完了之后,继续ctrl+f,寻找代码:

     

    include template($template);

  5. 5

    然后,把上面的代码注释掉,或者删掉,紧接着在后面添加代码:

     

    if($_G['forum']['ffile'])

     

          $skinfile=$template2;

     

      else

     

          $skinfile = $template;

     

    include template($skinfile); 

  6. 5
    此文章未经授权抓取自百度经验
  7. 6

    完了之后,就保存文件,退出。

     

    接着来就是修改主题内容帖子页面模板,给它增加一个判断,你先别管为什么,这里面是为了做到兼容不出错,完全智能化或者说是自动化等等。

     

    打开 source/module/forum/forum_viewthread.php ,然后 ctrl+f,寻找代码:

     

    include template('diy:forum/viewthread'.$sufix.':'.$_G['fid']);

  8. 7

    寻找到上面的代码之后,可以直接把上面的代码删掉,或者你也可以把它注释掉也行,我是选择注释掉的,为了方便以后还能找回原来的代码做准备的,建议你也学我一样吧。

     

    接着就是紧接着在后面添加代码:

     

    if($_G['forum']['vfile']){

     

    include template('diy:'.$_G['forum']['vfile'].':'.$_G['fid']);

     

    }

     

    else{

     

    include template('diy:forum/viewthread'.$sufix.':'.$_G['fid']);

     

    }

  9. 8

    完了之后呢,保存文件,退出。

     

    接着来给后台增加一些人性化的提醒操作,方便以后管理,打开 source/language/lang_admincp.php,继续ctrl+f,寻找代码:

     

    forums_edit_extend_threadcache_comment

  10. 9

    然后,在上面的代码下面添加代码:

     

    'forums_edit_extend_ffile' => '主题列表模板文件:',

     

    'forums_edit_extend_ffile_comment' => '填写格式如forum/forumdisplay,为空则默认为forumdisplay',

     

    'forums_edit_extend_vfile' => '版块内容模板文件:',

     

    'forums_edit_extend_vfile_comment' => '填写格式如forum/viewthread,为空则默认为viewthread',

  11. 10

    完了之后,保存文件,退出,到这里呢,就已经成功地在后台新增了两个功能,可以自由给任何一个版块自由设定任意模板了,如图所示:(原来的程序是没有这个功能的,现在有了,是不是感觉很爽啊!,我再一次把掌声送给自己,我实在是太聪明、太机智、太智慧、太那个啥了,总之吧,我很了不起的样子,起码看起来是的!你认为呢?!)

    discuz如何做到不同主题调取不同的独立diy内容
  12. 11

    好了,上面的操作做完了之后,只是完成了一半工作而已,还有后面相当复杂的操作过程。认真耐心看教程吧先把原来在公共调取的模板文件复制一份出来,然后给它不同的容易记得住的特定命名,比如我有一个版块专门想做 龙虾 的,然后我就  多加了 “longxia”这样的命名来区别,如图所示:(紧接着把这两个文件上传到模板目录下,反正跟原来的模板文件挨在一起同在一个文件夹下就可以了!)

    discuz如何做到不同主题调取不同的独立diy内容
  13. 12

    接着呢,我们要干什么呢?

     

    回到后台,什么样的后台,如图所示:

    discuz如何做到不同主题调取不同的独立diy内容
  14. 13

    这里要值得注意的地方就是,两个地方:

     

    首先,就是不要写绝对的路径,它其实已经是默认了把所选的风格模板文件当做是当前默认文件下,所以前面不需要**路径的,如图所示:(看图!自己去对比吧!真的不会解释了,哎,好烦!!!)

    discuz如何做到不同主题调取不同的独立diy内容
  15. 14

    注意对比哈,认真对比,再去写,不然会出错!!!搞不好会死机喔!!~~

    discuz如何做到不同主题调取不同的独立diy内容
  16. 15

    其次要注意的地方就是,请你仔细认真看,你会发现一个小地方,就是  forum/forumdisplaylongxia  这个地方的后面,它是没有 .htm

     

    错误的写法类似这样的:forum/forumdisplaylongxia.htm  (这个是错误的写法!!错误的写法!错误的写法!重要的事情讲3遍!)

     

    那么,正确的写法就是:forum/forumdisplaylongxia  (这个才是正确的写法!!!!!!!!!!!!!!!!!!!)

     

    接下来就是进入主题啦!什么主题呢?就是搞这个特定主题的 diy(独 one 无 two 的 diy 内容)

    discuz如何做到不同主题调取不同的独立diy内容
  17. 16

    回到前台,打开 diy 功能,进入高级模式……

     

    进来之后呢,你会发现原有的 diy 的那个区域是一片空白的,这个时候,你要重新设定……

     

    怎么设定呢?接着来……

     

    在你要设diy调取的那个区域里面,先添加 框架!

  18. 17

    稍微解释一下什么叫框架:每个diy 加上去的 都要区分 不同的标识符,以免冲突。先加 框架(相当于加一个碗),然后再加 模块(相当于往 碗里加菜),**后才是选择调取单独的 小龙虾 内容。

    discuz如何做到不同主题调取不同的独立diy内容
  19. 18

    接着呢,才是添加 模块!

    discuz如何做到不同主题调取不同的独立diy内容
  20. 19

    接下来就是,那个模板里面的样式啊,什么乱七八糟的样式呀,什么好看啦,好看的样式啦,自己去设!!如图:

    discuz如何做到不同主题调取不同的独立diy内容
  21. 20

    然后呢,什么乱七八糟的设置就自己去设啦!

    discuz如何做到不同主题调取不同的独立diy内容
  22. 21

    完了之后,要切记一件事情,就是:

     

    每当设好了一个diy区域的时候,必须要先到服务器释放内存,接着去后台更新缓存!

     

    意思就是说,每当设好了一个小块区域之后呢,就要去更新一下缓存,不然的话,你设定的这些diy的所有的内容就会消失啦,等于白做工!!!

     

    不要急!diy的块区,设定一个就更新缓存一个,保证每一个都成功设置!不要做无用功!一个个设,也没多大点事,它不会浪费你一毛钱!!

     

    等你上面的所有的diy区域都搞完了之后呢,接下来也要注意一个地方就是……如图:

    discuz如何做到不同主题调取不同的独立diy内容
  23. 22

    这里是个啥呢?点击这个【编辑】进去,看看不就知道是啥了吗?

    discuz如何做到不同主题调取不同的独立diy内容
  24. 23

    养成好的习惯,给你新增的模板页面 命个名吧!!!!大哥哥,大姐姐!喔!

     

    完了之后,再去看看这里,如图:

    discuz如何做到不同主题调取不同的独立diy内容
  25. 24

    看到了吧?!!就是上面截图这里,你会发现是这样子的。如果没做前面的那几个步骤,你会看到【所在页面】这里啊,会有【未使用】这样的字眼的,这样的话,万一清理缓存的时候,就会清掉你所设的diy,这样又是白干一场了,你滴明白!?

     

    所以,很重要吧!!多看看吧!

     

     

    终于结束了,完了!OK了!拜拜,睡觉!晚安!不对,现在是早上了,早安吧!

     

     

    ——土土土  于 2019年7月21日06:47:12  原创亲笔!

     

    (转载的时候不要漏掉这一句话,我写得很辛苦,谢谢啦!)

    END

注意事项

  • 转载请说明土土土原创亲笔出处
  • 仅供学习
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部