我们经常遇到一些个人网站提供的重要的文件下载、主题下载等文件需要用户回复可见。这些功能到底是如何实现的呢?在之前WordPress相关的功能上有过介绍(WordPress利用easy2hide插件实现评论内容可见模式),今天需要分享的是在Typecho程序中如何实现回复才可见的效果?
第一、找到文章展示页面模板
<?php $this->content(); ?>
我们找到文章展示页面模板上面代码,然后替换成:
<?php
$db = Typecho_Db::get();
$sql = $db->select()->from(‘table.comments’)
->where(‘cid = ?’,$this->cid)
->where(‘mail = ?’, $this->remember(‘mail’,true))
->limit(1);
$result = $db->fetchAll($sql);
if($this->user->hasLogin() || $result) {
$content = preg_replace(“/\[hide\](.*?)\[\/hide\]/sm”,'<div class=”reply2view”>$1</div>’,$this->content);
}
else{
$content = preg_replace(“/\[hide\](.*?)\[\/hide\]/sm”,'<div class=”reply2view”>此处内容需要评论回复后方可阅读。</div>’,$this->content);
}
echo $content
?>
第二、如何使用
[hide]需要隐藏的内容部分丢到这里[/hide]
如果我们正常发表内容不要做任何操作,如果我们需要隐藏内容的话,就根据上面方法用标签隐藏。
第三、修改样式
.reply2view {
background:#f8f8f8;
padding:10px 10px 10px 40px;
position:relative
}
.reply2view i {
display:block;
font-size:20px;
height:20px;
left:10px;
line-height:20px;
position:absolute;
top:15px;}
然后可以根据实际主题配色需要修改样式。