LifeType 中文開發論壇

開發 => 模版設計 => 主題作者是: huywings 於 五月 01, 2007, 02:35:33 下午



主題: 在模板里面添加表情功能
作者: huywings五月 01, 2007, 02:35:33 下午
      今日在http://www.im286.com/viewthread.php?tid=1646635看到了一个帖子,提到不用外挂,直接在模板里面添加表情功能,摘要如下:
引用
将这段代码存成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();
        }
}


接下来在commentform模板文件中加入<a href="javascript:insertSmilies('[smile]')"><img alt=[smile] src="{$url->getTemplateFile("images/smilies/icon_smile.gif")}"></a>

当然这是加载一个表情,实际会很多,依次加入就行了
注意是加到<form>后面。

接下来在postandcomments文件的{$comment->getText()}前面加入:
程式碼:
[color=Red]{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}[/color]

这段代码是将表情名字转换成图片载入$comment->getText()
最后,输出{$commenttext}也就是加载了表情的留言正文

这样为模板加入表情功能就完成了!
      我按照他的说法,确实回复里面可以用"[smile]"来调用表情图片。但是我添加两个或者两个以上的时候,就只有最后一个表情可以用,其他的则无法调用。。。其中我采用的方法是将红色的代码再使用复制黏贴一遍(当然,[smile]以及表情图片链接icon_smile.gif要相应改变)
      请教达人,如果想添加多个表情,代码应该如何弄?


主題: Re: 在模板里面添加表情功能
作者: james五月 02, 2007, 03:01:54 下午
Hi huywings:
我不了解的是,這樣的使用方式好像不會比使用表情外掛容易.
請問一下有非用這樣方法的理由嗎??
因為我怎麼想,這樣的方式都比表情外掛複雜許多,所以我會建議你直接使用表情外掛.
會容易得多.
除非,你無法自行安裝外掛程式,那又另當別論了.

:)
James.


主題: Re: 在模板里面添加表情功能
作者: huywings五月 02, 2007, 05:48:42 下午
      这样子“曲线救国”,确实很麻烦。问题是博客不是我个人架设的,管理员又没有添加外挂,我在没有办法安装表情外挂的情况下,才出此下策 :'(。。。
      希望James可以帮忙看看程序,给点意见,拜托了 :-)


主題: Re: 在模板里面添加表情功能
作者: huywings五月 06, 2007, 06:34:53 下午
自己顶一下,希望高手能够帮忙,谢谢


主題: Re: 在模板里面添加表情功能
作者: lss五月 07, 2007, 12:44:22 上午
你要不要試試這個:  替回響加上 TiyMCE 的功能(增修 1 版) (http://blog.nlhs.tyc.edu.tw/post/2/63)

這是改模版,讓回響使用 TinyMCE ,便可以利用 TinyMCE 裡的 smiley plugin 提供 smiley 圖,使用上簡單方便。不過,該文分享時, LifeType 還沒改用 TinyMCE ,所以一些小地方像路徑之類的可能得自己注意一下囉!

雖然我自己目前沒在用了 :-P

lss


主題: Re: 在模板里面添加表情功能
作者: vry六月 20, 2007, 08:58:20 下午
我试用了代码~~
那段java应该放在哪里?请详细告知,谢谢~~~

你的问题出在最后~~
{assign var=commenttext value=$comment->getText()|replace:"[smile]":$imga}
中的 value=$comment->getText
等于你每一句话都直接再从gettext那里调用一次文本~~把前面修改的覆盖掉了~~~
其后的语句应该是
{assign var=commenttext value=$commenttext|replace:"[smile]":$imga}

这样就行了~~~
我就做到这一步~~
但是前面的不会弄~~
对网页制作实在粗浅~~请告知详细方法~~~
我的blog在lifetype1.03上~~而且不能挂插件~~~郁闷阿~~~