给DZ论坛帖子内容添加一个(点击展开 / 收起)按钮

冬月初五 2020-4-17 5902

演示站点

http://bbs.mountblade.com.cn/viewthread.php?tid=143321&highlight=

此效果适用于7.0 ~ 7.2都可以 (测试 X3.2可用)


1,后台管理——界面——编辑器设置——discuz!代码

最下方新增spoiler代码,可用打勾,显示打勾,显示顺序视论坛情况而设置,图标文件可用其默认的,也可以自行上传,在images\common文件夹下,提交


2,点击spoiler详情,如下输入:

标签:spoiler

替换内容:

https://www.discuz.net/static/image/common/codebg.gif") 0px 0px repeat-y rgb(247, 247, 247); color: rgb(102, 102, 102); zoom: 1; border: 1px solid rgb(204, 204, 204); font-family: Tahoma, "Microsoft Yahei", Simsun; font-size: 14px;">

  1. <div class="spoiler">
  2. <div class="spoilerheader">
  3. <input type="button" class="spoilerbutton" value="{1}" onClick="n = 

  4. this.parentNode.parentNode.lastChild;if(n.style.display == 'none') {n.style.display 

  5. = 'block';} else {n.style.display = 'none';} return false;"/> (點擊展開 / 收起)

  6. </div><div class="spoilerbody" style="display: none;border-style:groove;padding-right:5px; ">
  7. <table><td>
  8. {2}
  9. </td></table>
  10. </div></div>
复制代码

(仿官方站点spoiler代码设置,细节文字及背景等可视情况修改,同html修改方法,宽度等方面可能需要视论坛情况修改)

解释:(任意,如折叠等等)

参数个数:2

参数提示语:(任意,如按钮文字折叠文字等等)

嵌套次数:1

提交


3,在用户组及版块管理中,确认允许特定用户组或特定版块使用自定义discuz!代码功能


(此文件在X系列貌似被和谐了没有找到,忽略一下部分即可,留存以供参考)

4,由于DZ7本身部分代码有误,导致自定义discuz!代码中只要包含方括号[],则代码无效,因此还需要修改这个文件:

打开include/cache.func.php文件,找到这段代码:

https://www.discuz.net/static/image/common/codebg.gif") 0px 0px repeat-y rgb(247, 247, 247); color: rgb(102, 102, 102); zoom: 1; border: 1px solid rgb(204, 204, 204); font-family: Tahoma, "Microsoft Yahei", Simsun; font-size: 14px;">

  1. $regexp = array        (
  2. 1 => "/\[{bbtag}]([^\"\[]+?)\[\/{bbtag}\]/is",
  3. 2 => "/\[{bbtag}=(['\"]?)([^\"\[]+?)(['\"]?)\]([^\"\[]+?)\[\/{bbtag}\]/is",
  4. 3 => "/\[{bbtag}=(['\"]?)([^\"\[]+?)(['\"]?),(['\"]?)([^\"\[]+?)(['\"]?)\]([^\"\[]+?)\[\/{bbtag}\]/is"
  5. );
复制代码

改成

https://www.discuz.net/static/image/common/codebg.gif") 0px 0px repeat-y rgb(247, 247, 247); color: rgb(102, 102, 102); zoom: 1; border: 1px solid rgb(204, 204, 204); font-family: Tahoma, "Microsoft Yahei", Simsun; font-size: 14px;">

  1. $regexp = array        (
  2. 1 => "/\[{bbtag}](.+?)\[\/{bbtag}\]/is",
  3. 2 => "/\[{bbtag}=(['\"]?)(.+?)(['\"]?)\](.+?)\[\/{bbtag}\]/is",
  4. 3 => "/\[{bbtag}=(['\"]?)(.+?)(['\"]?),(['\"]?)(.+?)(['\"]?)\](.+?)\[\/{bbtag}\]/is"
  5. );
复制代码


重点说明:

这个功能是可以隐藏某些不希望人家一点进来就看到的东西

理论上他可以包很多层,每一层都是独立内容,VB论坛的版本可以包很多层,但是Discuz的版本只能包一层而已,

也就是说,你可以这样子用

https://www.discuz.net/static/image/common/codebg.gif") 0px 0px repeat-y rgb(247, 247, 247); color: rgb(102, 102, 102); zoom: 1; border: 1px solid rgb(204, 204, 204); font-family: Tahoma, "Microsoft Yahei", Simsun; font-size: 14px;">

  1. [Spoiler=test1]
  2. test1
  3. [/Spoiler]

  4. [Spoiler=test2]
  5. test2
  6. [/Spoiler]

  7. [Spoiler=test3]
  8. test3
  9. [/Spoiler]
复制代码

但是不能这样子用

https://www.discuz.net/static/image/common/codebg.gif") 0px 0px repeat-y rgb(247, 247, 247); color: rgb(102, 102, 102); zoom: 1; border: 1px solid rgb(204, 204, 204); font-family: Tahoma, "Microsoft Yahei", Simsun; font-size: 14px;">

  1. [Spoiler=test1]
  2. test1

  3. [Spoiler=test2]
  4. test2

  5. [Spoiler=test3]
  6. test3
  7. [/Spoiler]
  8. [/Spoiler]
  9. [/Spoiler]

复制代码

包起来的内容可以是图片,也可以是视频…….基本上语法都可以包进去

大家可以自己测试看看…….



原文转自:
https://www.discuz.net/thread-1949371-1-1.html   版权归原作者所有,如需转载请注明原出处。

最新回复 (1)
    • 记录·WiKi
      3
        立即登录 立即注册 
返回
文章系网友原创或转载,目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵权行为,请联系我们admin(a)jilu.wiki,我们会及时删除。