给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>

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

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>