给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 />',' ').replace('<','<').replace('>','>')
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

这个真的不错
能否将你现在用的这个Micolog主题发一份给我?谢谢!我的邮箱i#xiao3.info
这主题还是很漂亮的
不错,改天有空也添加一下这个功能。
发现自己现在变得很懒,当然也是没有多少时间去研究这些。
你有空看看添加上“日志顶置“功能:-)
@xiao3 我用的主题是你楼上的那个Qing 给的 你可以留言给他 他人非常好!
哇咔咔,好感动啊
不知引用功能可以实现吗,有回复有引用这样用户体验会更好,期待加入…
改天还真要研究研究mocolog
引用edikud
@edikud 引用可以参照此功能改写 很简单的 不过感觉用处不大!引用功能可惜我还是弄不好,麻烦你写个代码给我啦!今天,发现了你加上了回复表情的功能,哈哈,很好很强大,不知可不可以共享下呢?这个应用我觉得很赞啊,另外我想问一下你:“评论处有没有这样的“链接”即是你登录后不用去后台就能直接删除留言评论的链接呢”

@edikud 因为输入字数有限制,所以引用的内容不能太长!引用里的表情占的字数也挺多的!
@houkai 呵呵,很好很实用的功能
侯凯越来越强大了 
那可不可以加多点字数呢,呵呵,那个删除留言链接有没有呢?多谢你回复!
@edikud 后面我会减少表情的字数 这样相对就增加了输入的字数!
现在输入的字数已经够了。
@TaoGOGO 多谢夸奖 ,每天进步一点点。我进步的快 是因为站在Taogogo等的肩上
@TaoGOGO 多谢夸奖 ,每天进步一点点。我进步的快 是因为站在Taogogo等的肩上
【引用 houkai】
——————————————————————
顶,这个真的很好
友链已添加!
现在开始添加这个功能!
这些功能最好 参照 我现在的网页源代码 有点改动。
或者 再参照 一下 http://www.houkai.com/2009/07/28/js-replace.html
http://www.houkai.com/2009/07/30/js-focus.html 有些细节改动!
你也可以发挥创造一下 是更加人性化
@houkai
是的,要改动的!因为我们的主题样式和个人喜好不一样!呵呵……
我先添加上……
而且我暂时还不想用引用
@麦子
引用用处不是很大 有回复就可以了 我开始也没打算加引用,因为有个同学老是问,我就试着弄出来,觉得不用浪费就加上了
呵呵!我暂时不用了~

汗,没弄出来,晚上继续搞
,那个回复的锚不知道应该抛在哪里,还有就是回复别人的话,会不会把回复内容也一同发到别人的邮箱里去呢?
疑/ ? 怎么不出来抠抠表情咧 ?
@blambin
锚放在评论输入框附近就行了。用下面代码就不用抛锚了
function reply(author,id){
backdb=document.getElementById('comment');
backdb.focus();
backdb.value=backdb.value+'<a href=\"#comment-'+id+'\">@'+author+'<\/a>'+'\n';
return false;
}
@houkai
额.. 在你回复我的时候没发现邮箱里面有信,囧 ~
弄了一晚上没弄好!!!!求教!我QQ liuhang0077(AT)gmail.com
彻底崩溃了!!!还是不行!
很好哦,学习啦,谢谢!
嗯, 不错, 试试
不错,回家改代码