i春秋discuz全家桶的简单介绍

纸扎戏偶

今天给各位分享i春秋discuz全家桶的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

  • 1、我用的是discuz论坛,为什么论坛中“主题”,“贴数”没有显示出来?http://bbs.3iwan.com/forum.php
  • 2、【请求帮助】如何在discuz分类信息这个摸块里添加;省市关联的下拉选框?
  • 3、discuz 3.2板块标题重复,有些好着,有些重复
  • 代码各是什么?' title='论坛里的个人签名的图片怎么弄的啊?Discuz代码和

    代码各是什么?'>4、论坛里的个人签名的图片怎么弄的啊?Discuz代码和

    代码各是什么?

  • 5、Discuz! 文字过滤
  • 6、discuz 3.4 上传头像时提示文件上传过程中发生I/O错误

1、我用的是discuz论坛,为什么论坛中“主题”,“贴数”没有显示出来?http://bbs.3iwan.com/forum.php

有可能是数据调用错误。。

如果是一直有这样的情况,建议你检查文件是否有缺失。。

2、【请求帮助】如何在discuz分类信息这个摸块里添加;省市关联的下拉选框?

为了考虑在同一个页面中多处使用,因些使用了对象的思想进行设计,为了实现各个多级联动的内容不同,所以把内空数据结构与程序进行了分离,因此设计最终调用方法如:

 var city=new LightManAddressTree;

 city.selectshow(obj,0); //obj为要添加到的dom结点,

 如有html代码如下div id="abc"/div

那么调用方法就应该为

obj=document.getElementById("abc");

 var city=new LightManAddressTree;

 city.selectshow(obj,0);

这样多级联动内容就为显示在闭合的div标签内的位置

 其js设计代码如下:

复制代码 代码如下:

//定义地址数据开始

var AddressTree={};

AddressTree["a_row"]=new Array(); //存所有记录

with(AddressTree){

a_row["1"]=["北京市",0,1];

a_row["2"]=["上海市",0,1];

a_row["3"]=["天津市",0,1];

a_row["4"]=["重庆市",0,1];

a_row["5"]=["河北",0,0];

a_row["6"]=["山西",0,0];

a_row["7"]=["内蒙古",0,0];

a_row["8"]=["辽宁",0,0];

a_row["9"]=["吉林",0,0];

a_row["10"]=["黑龙江",0,0];

a_row["11"]=["江苏",0,0];

..............

}

var j=0;

AddressTree["a_record"]=new Array();//存储记录的记录号

for(i in AddressTree["a_row"]){AddressTree["a_record"][j++]=i;}

AddressTree.ObjNumber=1;

//地址选择构造函数

function LightManAddressTree(){

var Data = AddressTree; //数据记录数据变量

this.noselectshow=["--请选择省份--","--请选择城市--","--请选择区县--"];//各级不选择显示值

this.grade=0; //级数

this.idvalue=0; //地址选择值的id号

this.text=""; //地址字符串

this.listseparator=" "; //地址字符串中的分隔符号

this.selectName="a_tree"+(AddressTree.ObjNumber++)+"_";

//定义地址数据结束

this.getfontpath = function(id){ //取得指定记录号的上级路径

var path = "",upid;

try{

upid=(isNaN(id)?0:id);

while(upid!=0){

var upid=Data["a_row"][upid][1];

if(path!="")path=upid+","+path;else path=upid;

}

}

catch(e){};

return eval("["+path+"]");

}

//建立下列表

this.selectshowlevel=function(obj,upid,def){

var selectobj,optionobj,havedef;

selectobj=document.getElementById(this.selectName+this.grade);

if(selectobj){

document.getElementById(this.selectName+this.grade).options.length=0;

}else{

selectobj=document.createElement("select");

selectobj.id=this.selectName+this.grade;

selectobj.grade=this.grade;

selectobj.obj=this;

selectobj.onchange=function(){

if(this.options[this.selectedIndex].value!=""){

this.obj.selectshow(obj,this[this.selectedIndex].value);

}

else{

if(this.obj.grade0){

for(var i=this.grade+1;ithis.obj.grade-1;i++){

var df=document.getElementById(this.obj.selectName+i);

df.options.length=0;

defaultoption(this.obj,df,i);

}

//最得值

getvalue(this.obj);

}

}

}

}

defaultoption(this,selectobj,this.grade);

//显示级别下数据

if(upid=0){

for(var j=0;jData["a_record"].length;j++){

thisrecord=Data["a_row"][Data["a_record"][j]];

if(thisrecord[1]==upid){

optionobj=document.createElement("option");

optionobj.text=thisrecord[0];

optionobj.value=Data["a_record"][j];

selectobj.options.add(optionobj);

if(def==Data["a_record"][j]) havedef=true;

}

}

}

if(havedef)selectobj.value=def;

return selectobj;

}

this.selectshow = function(obj,id){ //显示选中记录号

var selectobj,optionobj,thisrecord;

var lastgrade,tempid=id,tempgrade;

var fontpath=this.getfontpath(id);

tempgrade=this.grade;

this.grade=0;

//显示选中前部分内容

for (var i=0;ifontpath.length;i++){

if(!document.getElementById(this.selectName+this.grade)){

if(ifontpath.length-1)

this.Add(obj,this.selectshowlevel(obj,fontpath[i],fontpath[i+1]));

else

this.Add(obj,this.selectshowlevel(obj,fontpath[i],id));

}

this.grade++;

}

//显示选中后部分内容

do{

lastgrade=this.selectshowlevel(obj,tempid);

tempid=lastgrade.value;

if (tempid=="")tempid=-1;

this.Add(obj,lastgrade);

this.grade++;

}

while(lastgrade.options.length0);

//删除多余选项

for(i=this.grade-1;itempgrade-1;i++){

obj.removeChild(document.getElementById(this.selectName+i));

}

//最得值

getvalue(this);

}

this.Add=function(obj,s){

if(s.options.length0!document.getElementById(s.id))obj.appendChild(s);

}

//获取选择值

function getvalue(obj){

var sel

obj.text="";

obj.idvalue=0;

for(var i=0;iobj.grade-1;i++){

sel=document.getElementById(obj.selectName+i);

if(sel.value!=""){

obj.text+=(obj.text.match("\\S")==null?"":obj.listseparator)+sel.options[sel.selectedIndex].text;

obj.idvalue=sel.options[sel.selectedIndex].value;

}else{break;}

}

}

//级别显示数据

function defaultoption(obj,sobj,g){

try{

if(obj.noselectshow[g]){

optionobj=document.createElement("option");

optionobj.text=obj.noselectshow[g];

optionobj.value="";

sobj.options.add(optionobj,0);

}

}

catch(e){}

}

} address_test.htm

复制代码 代码如下:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

" "

html

head

titleUntitled Document/title

meta http-equiv="Content-Type" content="text/html; charset=utf-8"

/head

body

script type="text/javascript" src="Address.js"/script

/body

/html 本文来自: 脚本之家() 详细出处参考: 希望对你有帮助

3、discuz 3.2板块标题重复,有些好着,有些重复

为了避免发布重复的帖子,我们可以手动修改一下Discuz!的源代码来实现:

1、打开 include\newthread.inc.php

2、查找:

复制代码

3、在后面一行添加:

if($subject == '' || $message == '') {

showmessage('post_sm_isnull');}

复制代码

* 添加提示信息(可选择加与不加,加了后当发重复的帖子的时候会有温馨提示增加用户体验)

1、打开:templates\default\messages.lang.php

2、查找:

//Refuse repeated post. Code by KaijuanStudio , Optimization by phytist

$repeated = 4; //设置防范重复发贴的级别,0=关闭,1=防范相同ID发布相同标题的新主题,2=防范发布相同标题的新主题,3=防范发布相同标题且内容部分相同的新主题,4=防止内容一致或标题和部分内容相同的主题。

if($repeated == 1) {

$query = $db-query("SELECT tid, subject FROM {$tablepre}threads WHERE authorid='$discuz_uid' AND subject='$subject'");

if($db-num_rows($query)) {

$repeat = $db-fetch_array($query);

showmessage('post_repeated', 'index.php');

}

} elseif ($repeated == 2) {

$query = $db-query("SELECT tid, subject FROM {$tablepre}threads WHERE subject='$subject'");

if($db-num_rows($query)) {

$repeat = $db-fetch_array($query);

showmessage('post_repeated', 'index.php');

}

} elseif ($repeated == 3) {

$query = $db-query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND subject='$subject'");

if($db-num_rows($query)) {

$repeat = $db-fetch_array($query);

if($repeat['authorid'] == $discuz_uid) {

showmessage('post_repeated', 'index.php');

}

function SubString($str, $start, $len = 0xFFFFFFFF) {

if($start 0) {

$start = strlen($str) + $start;

}

if($len 0) {

$len = strlen($str) - $start + $len;

}

$tmp = '';

$result = '';

$strlen = strlen($str);

$begin = 0;

$subLen = 0;

for($i = 0; $i $start + $len $i $strlen; $i++) {

if($i $start) {

if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1]) = 161 ord($str[$i+1]) = 254) $i++;

} else {

$begin=$i;

for(; $i$start+$len $i$strlen; $i++) {

if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1])=161 ord($str[$i+1])=254) $i++;

}

return substr($str,$begin,$i-$begin);

}

}

}

if(strlen($message) 60) {

if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {

showmessage('post_repeated', 'index.php');

}

} else {

if($message == SubString($repeat['message'], 0, 60)) {

showmessage('post_repeated', 'index.php');

}

}

}

}elseif ($repeated == 4) {

$query = $db-query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND (subject='$subject' OR message='$message')");

if($db-num_rows($query)) {

$repeat = $db-fetch_array($query);

if($repeat['authorid'] == $discuz_uid) {

showmessage('post_repeated', 'index.php');

}

function SubString($str, $start, $len = 0xFFFFFFFF) {

if($start 0) {

$start = strlen($str) + $start;

}

if($len 0) {

$len = strlen($str) - $start + $len;

}

$tmp = '';

$result = '';

$strlen = strlen($str);

$begin = 0;

$subLen = 0;

for($i = 0; $i $start + $len $i $strlen; $i++) {

if($i $start) {

if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1]) = 161 ord($str[$i+1]) = 254) $i++;

} else {

$begin=$i;

for(; $i$start+$len $i$strlen; $i++) {

if(ord($str[$i]) = 161 ord($str[$i]) = 247 ord($str[$i+1])=161 ord($str[$i+1])=254) $i++;

}

return substr($str,$begin,$i-$begin);

}

}

}

if(strlen($message) 60) {

if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {

showmessage('post_repeated', 'index.php');

}

} else {

if($message == SubString($repeat['message'], 0, 60)) {

showmessage('post_repeated', 'index.php');

}

}

}

}

//Refuse repeated post. Code End

复制代码

'post_net_price_iszero' = '您的主题售价扣除积分交易税后为 0,请返回修改。',

复制代码

3、在后面一行添加

复制代码

'post_repeated' = '您所发布的主题或内容已存在:《a href=\"viewthread.php?tid=$repeat[tid]\" target=\"_blank\"$repeat[subject]/a》请勿重复发布。',

4、论坛里的个人签名的图片怎么弄的啊?Discuz代码和

代码各是什么?

Discuz代码不是什么语言也不是可以实现什么功能的东西, 他是论坛的名称,是由一个公司开发的,只是一个名字而已。 就好像bbsxp和动网,只是一个名字,Discuz代码是用PHP语言开发的。

如果支持的话,可在个人签名档里写入代码如:

图片地址[/img]注意:一般来说论坛的图片地址只支持网上图片。获取网页图片地址的方法:在网上找到你喜欢的那张图片,然后点右键--属性,里面会有一个"地址(url)"。把它复制到

图片地址[/img]代替"图片地址"。

你可以查看下自己所在用户组权限,然后再看看你用户组的下一用户组的权限 对比看看差别咯。或许最高用户组(等级影响)才能使用IMG。

5、Discuz! 文字过滤

方法一:

替换前的内容可以使用限定符 {x} 以限定相邻两字符间可忽略的文字,x 是忽略字符的个数。如 "a{1}s{2}s"(不含引号) 可以过滤 "ass" 也可过滤 "axsxs" 和 "axsxxs" 等等。

这个是Discuz官方提供的

方法二:

我安装了discuz7.0,在他的文件中找到了过滤函数并改写了它,使其能在过滤前先把所有的空格删掉。

具体改法:

1.用记事本打开include目录下的discuzcode.func.php文件

2.找到

if(preg_match($_DCACHE['censor']['banned'], @preg_replace(array("/\[($bbcodes)=?.*\]/iU", "/\[\/($bbcodes)\]/i"), '', $message).$message)) {

showmessage('word_banned');

}

在52行,你可以使用搜索功能(Ctrl+F)找到

3.在其前面增加一行

$message = str_replace(' ', '', $message);

这就是用来替换空格的

变成这样

$bbcodes = 'b|i|u|color|size|font|align|list|indent|url|email|hide|quote|code|free|table|tr|td|img|swf|attach|payto|float'.($_DCACHE['bbcodes_display'] ? '|'.implode('|', array_keys($_DCACHE['bbcodes_display'])) : '');

$message = str_replace(' ', '', $message);

if(preg_match($_DCACHE['censor']['banned'], @preg_replace(array("/\[($bbcodes)=?.*\]/iU", "/\[\/($bbcodes)\]/i"), '', $message).$message)) {

showmessage('word_banned');

}

4.保存即可

6、discuz 3.4 上传头像时提示文件上传过程中发生I/O错误

确保头像相关的目录有写入的权限,还有UCenter配置正确,还有上传头像主要是通过一个swf文件,现在有一些浏览器禁止Flash的执行,还要检查一下浏览器是否支持Flash 。。您也可以在应用中心搜索“csdn123”安装任何一款插件,里面有一个“批量注册用户”的功能,可以用那个功能试一下是否正常显示头像,如果用那些插件正常,那就是Flash的问题多一点。

i春秋discuz全家桶的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、i春秋discuz全家桶的信息别忘了在本站进行查找喔。

文章版权声明:除非注明,否则均为我爱教程术原创文章,转载或复制请以超链接形式并注明出处。