不用插件,问题从另一处得到完美解决。
我在看了oldwai有模板后,便把表情那部JS代码和转换方式加入了我的模板中,可是JS在IE6里运行出错,虽然不影响什么,但我也不原意看到IE报错,于是我就找了相关的资料,并找到了如下一段js代码:
function insertSmilies(strCode) {
var txtarea = document.inputform.commentText;
strCode = ' ' + strCode + ' ';
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? strCode + ' ' : strCode;
txtarea.focus();
} else {
txtarea.value += strCode;
txtarea.focus();
}
}
将这段代码存成JS文件,加载到期模板中
接下来在commentform模板文件中加入<a href="javascript:insertSmilies('[smile]')"><img alt=[smile] src="{$url->getTemplateFile("images/smilies/icon_smile.gif")}"></a>
当然这是加载一个表情,实际会很多,依次加入就行了
注意是加到<form>后面。
接下来在postandcomments文件的{$comment->getText()}前面加入:
{assign var=imga value="<img src='"|cat:$url->getTemplateFile("images/smilies/icon_smile.gif")|cat:"' width='20' height='20' alt='smile' align='middle' />"}
{assign var=commenttext value=$comment->getText()|replace:"[smile]":$imga}
{$commenttext}
这段代码是将表情名字转换成图片载入$comment->getText(),还用到了转换代码,说真的assign我不知道是什么意思,最后输出{$commenttext}也就是加载了表情的留言正文
这样为模板加入表情功能就完成了!
by:www.raidybor.com