效果如本博客评论(留言才能看到),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>
这样源码就简洁了。减量不减价!