给Micolog评论增加简单的回复引用功能

效果如本博客评论(留言才能看到),taogogo改版后评论有回复字眼,但没功能,前天看他加了简单的功能,分析了下html源码,很容易就加过来了。感谢taogogo的为Micolog的努力!

打开主题下comments.html文件在三处添加红色部分代码

<a href="#comment-{{comment.key.id}}" title="">{{comment.date|datetz:"Y-m-d"}} at {{comment.date|datetz:"H:i"}}</a>
                        <a onclick="return backcomment('{{comment.author}}');" href="#commentarea"><font color="#800000">回复</font></a> </div>

 

<a name="commentarea"></a> <!--回复使用的锚--->
    <h1 class="comments-title">我要留言</h1>

 

function showinfo(msg)
{
      alert(msg);
}

//回复自动输入姓名函数
function backcomment(msg){
backdb=document.getElementById('comment');
backdb.value="@"+msg;
return true;
}

如果你的主题用默认的那个或者没有用徐明的Ajax,就自己加个<sctript>……

相关知识 <a href="#" onclick=""> 不能不知道的技巧

另外,今天修正了首页最新评论中显示 <br />不足,顺便晒出来。

在model.py找到如下代码,大概在462行,添加红色部分,把<br />换成空格

@property
def shortcontent(self,len=20):
    scontent=self.content[:len].replace('<br />','&nbsp;').replace('<','&lt;').replace('>','&gt;')
    return scontent

这样 就可以过滤最新评论的回车和图片等非文字元素了

追加个引用功能

<a onclick="return backcomment('@{{comment.author}}');" href="#commentarea"><font color="#800000">回复</font></a>
                       <a onclick="return backcomment('引用{{comment.author}}<blockquote>{{comment.content}}</blockquote>');" href="#commentarea"><font color="#800000">引用</font></a>

为了适应引用功能,将上面js代码的此行改为

backdb.value=msg;

这样 简单的回复和引用功能就完成了

--------------------------------------------------------------------------------

再此追加

用上面的引用功能,发现网页源码有些冗长,每个评论的内容会重复1次。现在改用js来实现,试着写了个函数,功能达到一致了!

//引用调用函数
function quote(name,id){
var quoteMsg=document.getElementById(id).innerHTML;
document.getElementById("comment").value='引用'+name+'<blockquote>'+quoteMsg+'</blockquote>';
return true;
}

建议放在回复函数下面。改

<a onclick="return quote('{{comment.author}}','quote-{{comment.key.id}}')" href="#commentarea"><font color="#800000">引用</font></a>

<p id="quote-{{comment.key.id}}">{{comment.content}}</p>

这样源码就简洁了。减量不减价!

本文永久链接  http://www.houkai.com/2009/07/24/micolog-add-reply.html
转载注明来自  HOUKAI.COM 分享家:Addthis中国

JavaScript(js)设置输入焦点(focus)»

«用css控制链接打开新窗口




最新文章

您可能会喜欢

本文共有32评论

  1. 这个真的不错

  2. 能否将你现在用的这个Micolog主题发一份给我?谢谢!我的邮箱i#xiao3.info

  3. 这主题还是很漂亮的

  4. 不错,改天有空也添加一下这个功能。
    发现自己现在变得很懒,当然也是没有多少时间去研究这些。
    你有空看看添加上“日志顶置“功能:-)

  5. @xiao3 我用的主题是你楼上的那个Qing 给的 你可以留言给他 他人非常好!

  6. 哇咔咔,好感动啊

  7. 不知引用功能可以实现吗,有回复有引用这样用户体验会更好,期待加入…

  8. 改天还真要研究研究mocolog

  9. 引用edikud

    不知引用功能可以实现吗,有回复有引用这样用户体验会更好,期待加入…
    @edikud 引用可以参照此功能改写 很简单的 不过感觉用处不大!

  10. 引用功能可惜我还是弄不好,麻烦你写个代码给我啦!今天,发现了你加上了回复表情的功能,哈哈,很好很强大,不知可不可以共享下呢?这个应用我觉得很赞啊,另外我想问一下你:“评论处有没有这样的“链接”即是你登录后不用去后台就能直接删除留言评论的链接呢”

  11. @edikud 因为输入字数有限制,所以引用的内容不能太长!引用里的表情占的字数也挺多的!

  12. @houkai 呵呵,很好很实用的功能 侯凯越来越强大了

  13. 那可不可以加多点字数呢,呵呵,那个删除留言链接有没有呢?多谢你回复!

  14. @edikud 后面我会减少表情的字数 这样相对就增加了输入的字数!
    现在输入的字数已经够了。

  15. @TaoGOGO 多谢夸奖 ,每天进步一点点。我进步的快 是因为站在Taogogo等的肩上

  16. @TaoGOGO 多谢夸奖 ,每天进步一点点。我进步的快 是因为站在Taogogo等的肩上 【引用 houkai】
    ——————————————————————
    顶,这个真的很好

  17. 友链已添加!

  18. 现在开始添加这个功能!

  19. 这些功能最好 参照 我现在的网页源代码 有点改动。
    或者 再参照 一下 http://www.houkai.com/2009/07/28/js-replace.html
    http://www.houkai.com/2009/07/30/js-focus.html 有些细节改动!
    你也可以发挥创造一下 是更加人性化

  20. @houkai
    是的,要改动的!因为我们的主题样式和个人喜好不一样!呵呵……
    我先添加上……

  21. 而且我暂时还不想用引用

  22. @麦子
    引用用处不是很大 有回复就可以了 我开始也没打算加引用,因为有个同学老是问,我就试着弄出来,觉得不用浪费就加上了

  23. 呵呵!我暂时不用了~

  24. 汗,没弄出来,晚上继续搞 Cry ,那个回复的锚不知道应该抛在哪里,还有就是回复别人的话,会不会把回复内容也一同发到别人的邮箱里去呢?

  25. 疑/ ? 怎么不出来抠抠表情咧 ?

  26. @blambin
    锚放在评论输入框附近就行了。用下面代码就不用抛锚了Smile
    function reply(author,id){
     backdb=document.getElementById('comment');
     backdb.focus();
     backdb.value=backdb.value+'<a href=\"#comment-'+id+'\">@'+author+'<\/a>'+'\n';
     return false;
    }

  27. @houkai
    额.. 在你回复我的时候没发现邮箱里面有信,囧 ~

  28. 弄了一晚上没弄好!!!!求教!我QQ liuhang0077(AT)gmail.com

  29. 彻底崩溃了!!!还是不行!

  30. 很好哦,学习啦,谢谢!

  31. 嗯, 不错, 试试

  32. 不错,回家改代码

 

现在评论本文

3+4