插件作者的标准出来了!Manyou诚邀开发者加盟!
“互联网平台开发者”特刊 有奖征集开发者
立即免费下载 Discuz!6.1.0正式版
Discuz! 6.1.0 使用说明
Discuz!NT2.5正式版发布
开放源码下载
UCenter Home 1.2 正式版发布
官方站 | 帮助文档
基于ECShop的网店托管-卖否
PHP就业培训直通车 | LAMP培训大连
Discuz!收费服务内容及价格
“感谢有你同行”手握手2008年数万元重奖志愿者
Discuz!/ECShop 专用官方虚拟主机
【九城-奇迹世界】专题活动开始了!
Comsenz 招聘信息
网店系统ECShop v2.6.0正式版火热发布
基于Discuz!的免费论坛空间5D6D
参与有奖社区调查 赢取台湾5日游
发新话题
打印

集中起来问几个问题

集中起来问几个问题


一、
如何在CDB论坛的首页中加入记数器?
二、
为什么论坛的的发起投票的功能中,投票的选项在投票简单说明的上方,且发起投票确认后点击的竟然是发表回复,而不是发新话题
四、
论坛版块的图片中若为flash可以自定义大小,可是如果是图片如何自定义大小?
五、
论坛中这样的代码
[color=Red]j明天的[cloor=Teal]明天的[/color]明天[/color]
不能达到前后两个明天为红色,中间的明天为蓝色的效果,而必须给前后两个明天重新加入color代码的头尾,但是,在VBB论坛中可以做到。
六、
当BB代码为直接插入时,总是插入在贴子最后,而不是插入在光标处,这点我认为不方便。
七、
CDB论坛很好,我会坚持使用!提这么多意见一方面为自己说出疑惑,另一方面通过不断的提意见的方式来完善CDB,使其在众多论坛程序中脱颖而出。

我的CDB:www.hf.2ya.com
加入计数器可以修改模板
图片大小可以用其他软件弄,flash不太方便
第6点也强烈要求改进
[url=http://www.sa100.com]Azlar Soft[/url]
还有一个问题,即第八条:点击表情符号后所有动画GIF立即静止不动..记得VBB总站提供过可防静止不动的HACK,而且你点它千八百次它照样动画不停!

可惜这里不能上传附件,我索性把它拷贝在这里吧..希望对Crossday会有帮助...
引用:
表情符号的修正Hack [VB 其他各种相关 Hacks]  
大家是不是发现!再发贴或是回复时!点击一下动态的表情符号! 那么表情符号就会变成静态的,不动了! 怎么办呢! 看这个改变!

打开 vbcode_smiliebit 模板:
把原来的:
code:--------------------------------------------------------------------------------
<a href=\"javascript:smilie(\'$smilie[smilietext]\')\"><img src=\"$smilie[smiliepath]\" alt=\"$smilie[title]\" border=\"0\"></a>
--------------------------------------------------------------------------------
替换为:
code:--------------------------------------------------------------------------------
<img src=\"$smilie[smiliepath]\" alt=\"$smilie[title]\" border=\"0\"
onmouseover=\"this.style.cursor=\'hand\';\"
onclick=\"smilie(\'$smilie[smilietext]\');\">
--------------------------------------------------------------------------------
我是谁.. 似天..变幻莫测...... 似水..深不可测...... 我是谁..
还有..至于第六条,已经有办法解决了..不过也是VBB的..Crossday可以通过它来做出符合CDB的解决方案...如下:
引用:
以前在VBB里面使用高级模式的代码插入,不管你的光标在什么地方,代码总是插在文章的最后面,很不方便!现在好了! 支持所处插入!赫赫!

安装步骤:
1. 下载附件里的vbcode.rar,解压缩后覆盖vBB目录里的vbcode.js!
2. 修改如下模板! 方法:在模板里找 $message 变量,然后在其前面插入这段:onChange=getActiveText(this) onclick=getActiveText(this)

举个例子:
<textarea name="message" rows="20" cols="$textareacols" wrap="virtual" tabindex="2"
onChange=getActiveText(this) onclick=getActiveText(this) >$message</textarea>

要重复这样修改的模板如下:
Calendar Templates
-------calendar_enterevent
New Posting Templates
-------newreply
-------newthread
Private Messaging Templates
-------priv_forwardmultiple
-------priv_sendprivmsg
-------priv_sendtobuddies

-------editpost

==============================================
额外的修改
vbcode_popup_smilies 在这个模板里查找并删除这段:
<script language="JavaScript">
function smilie(smilietext) {
        opener.document.vbform.message.value += smilietext+" ";
        //opener.vbform.message.focus();
}
</script>

vbcode__popup_smiliebits 在这个模板里修改这段:
查找:
<a href="java script:smilie('$smilie[text]')">

替换为:
<a href="java scriptpener.smilie('$smilie[text]')">

注意:以上所有的修改 java script 之间是没有空格的!赫赫!
我是谁.. 似天..变幻莫测...... 似水..深不可测...... 我是谁..

下载附件里的vbcode.rar,解压缩后覆盖vBB目录里的vbcode.js

下面是压缩包里的vbcode.js全部代码..
引用:
//********************************************************

tags = new Array();
theform = document.vbform;
// *******************************************************
// replacements for unsupported array functions (because arrayname.push(var)
// and arrayname.pop() are not implemented in IE until version 5.5)
function thearrayisgood(thearray,i) {
         if ((thearray == "undefined") || (thearray == "") || (thearray == null))
             return false;
         else
             return true;
}

function getarraysize(thearray) {
// replacement for arrayname.length property
        for (i = 0; i < thearray.length; i++) {
                if ((thearray == "undefined") || (thearray == "") || (thearray == null))
                        return i;
                }
        return thearray.length;
}

function arraypush(thearray,value) {
// replacement for arrayname.push(value)
        thearraysize = getarraysize(thearray);
        thearray[thearraysize] = value;
        return thearray[thearraysize];
}

function arraypop(thearray) {
// replacement for arrayname.pop()
        thearraysize = getarraysize(thearray);
        retval = thearray[thearraysize - 1];
        delete thearray[thearraysize - 1];
        return retval;
}

// *******************************************************

function setmode(modevalue) {
// sets cookie for normal (0) and enhanced (1) modes
        document.cookie = "vbcodemode="+modevalue+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
}

function normalmode(theform) {
// checks value of mode radio buttons. returns true if normal mode
        if (theform.mode[0].checked) return true;
        else return false;
}

function stat(thevalue) {
// places mini-help text into help/error textbox
// strings are stored in vbcode_language.js
        document.vbform.status.value = eval(thevalue+"_text");
}
// *******************************************************
// These are the added functions which enable text input at the cursor
// instead of at the end of the text. Note that onChange=getActiveText(this)
// onclick=getActiveText(this) must be added to the textarea tag for "message" in the
// newreply and newthread templates in order for everything to work correctly.

var text = "";
AddTxt = "";
function getActiveText(selectedtext) {
// adds text to the "message" textarea at the cursor position when a click or change has been
// made in the textarea.
        text = (document.all) ? document.selection.createRange().text : document.getSelection();
        if (selectedtext.createTextRange) {
            selectedtext.caretPos = document.selection.createRange().duplicate();
        }
        return true;
}

function AddText(NewCode,theform) {
// This does the actual insertion.
        if (theform.message.createTextRange && theform.message.caretPos) {
                var caretPos = theform.message.caretPos;
                caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
        } else {
                theform.message.value+=NewCode;
        }
        setfocus(theform);
        AddTxt = "";
}


function setfocus(theform) {
theform.message.focus();
}

function vbcode(theform,vbcode,prompttext) {
// insert [x]yyy[/x] style markup
        if ((normalmode(theform)) || (vbcode=="IMG")) {
                if (text) { var dtext=text; } else { var dtext=prompttext; }
                inserttext = prompt(tag_prompt+"\n["+vbcode+"]xxx[/"+vbcode+"]",dtext);
                if ((inserttext != null) && (inserttext != ""))
                        AddTxt = "["+vbcode+"]"+inserttext+"[/"+vbcode+"] ";
                        AddText(AddTxt,theform);

                }
        else {
                donotinsert = false;
                for (i = 0; i < tags.length; i++) {
                        if (tags == vbcode)
                                donotinsert = true;
                        }
                if (donotinsert)
                        stat("already_open");
                else {
                        arraypush(tags,vbcode);
                        AddTxt = "["+vbcode+"]";
                        AddText(AddTxt,theform);
                        }
                }
        theform.message.focus();
}

// *******************************************************

function closetag(theform) {
// closes last opened tag
        if (normalmode(theform))
                stat('enhanced_only');
        else
                if (tags[0]) {
                        Tag = arraypop(tags)
                        AddTxt = "[/"+ Tag +"]";
                        AddText(AddTxt,theform);
                        }
                else {
                        stat('no_tags');
                        }
        theform.message.focus();
}

function closeall(theform) {
// closes all open tags
        if (normalmode(theform))
                stat('enhanced_only');
        else {
                i = getarraysize(tags)-1;
                if (thearrayisgood(tags,i)) {
                        Addtxt = "";
                        for (h = 0; h <= i; h++) {
                               newtag = arraypop(tags);
                               Addtxt += "[/"+ newtag +"]";
                                }
                        AddText(Addtxt,theform);
                        }
                else {
                        stat('no_tags');
                        }
                }
        theform.message.focus();
}


// *******************************************************

function fontformat(theform,thevalue,thetype) {
        if (normalmode(theform)) {
                if (thevalue != 0) {
                        if (text) { var dtext=text; } else { var dtext=""; }
                        inserttext = prompt(font_formatter_prompt+" "+thetype,dtext);
                        if ((inserttext != null) && (inserttext != ""))
                                AddTxt = "["+thetype+"="+thevalue+"]"+inserttext+"[/"+thetype+"] ";
                                AddText(AddTxt,theform);

                        }
                }
        else {
                arraypush(tags,thetype);
                Addtxt = "["+thetype+"="+thevalue+"]";
                AddText(Addtxt,theform);
                }
        theform.sizeselect.selectedIndex = 0;
        theform.fontselect.selectedIndex = 0;
        theform.colorselect.selectedIndex = 0;
        theform.message.focus();
}

// *******************************************************

function namedlink(theform,thetype) {
// inserts named url or email link - [url=mylink]text[/url]
        if (text) { var dtext=text; } else { var dtext=""; }
        linktext = prompt(link_text_prompt,dtext);
                var prompttext;
                if (thetype == "URL") {
                        prompt_text = link_url_prompt;
                        prompt_contents = "http://";
                        }
                else {
                        prompt_text = link_email_prompt;
                        prompt_contents = "";
                        }
        linkurl = prompt(prompt_text,prompt_contents);
        if ((linkurl != null) && (linkurl != "")) {
                if ((linktext != null) && (linktext != "")) {
                        AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
                        AddText(AddTxt,theform);

                        }
                else{
                        AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
                        AddText(AddTxt,theform);

                }
        }
}

// *******************************************************

function dolist(theform) {
// insert two-parameter markup - [x=y]zzz[/x]
        listtype = prompt(list_type_prompt, "");
        if ((listtype == "a") || (listtype == "1")) {
                thelist = "[list="+listtype+"]\n";
                listend = "[/list="+listtype+"] ";
                }
        else {
                thelist = "
    \n";
                    listend = "
";
                }
        listentry = "initial";
        while ((listentry != "") && (listentry != null)) {
                listentry = prompt(list_item_prompt, "");
                if ((listentry != "") && (listentry != null))
                        thelist = thelist+"
  • "+listentry+"\n";
                    }
            AddTxt = thelist+listend;
            AddText(AddTxt,theform);

    }

    // *******************************************************

    function smilie(thesmilie) {
    // inserts smilie code
            AddSmilie = " "+thesmilie+" ";
            AddText(AddSmilie,theform);
    }

    function opensmiliewindow(x,y,sessionhash) {
    // um... opens smilie overflow window.
                    window.open("misc.php?action=getsmilies&s="+sessionhash, "smilies", "toolbar=no,scrollbars=yes,resizable=yes,width="+x+",height="+y);
    }

    // *******************************************************
  • 希望这几帖对Crossday有所帮助!!!

    [ 本贴由 一只鸟 于 2002-6-15 11:05 最后编辑 ]
    我是谁.. 似天..变幻莫测...... 似水..深不可测...... 我是谁..
    呵呵~非常有价值的贴子! 我仔细研究吧
    Comsenz President & CEO
    短消息太多 无暇一一回复 有事请联系相关负责人
    为了您的问题及时解决 切勿发短消息给我

    没事写写 Blog 想想看生活是多艰难的一件事情
    发新话题
    版块跳转