emlog侧栏最新评论显示评论文章标题和时间

emlog默认主题的侧栏模块“最新评论”不显示评论文章标题和评论时间,部分用户会有显示评论所属文章的标题以及该评论的评论时间的需求,可在emlog wiki中查找没有发现相关的调用函数代码,不过可以使用sql语句通过评论gid进行查询实现调用,下面异度传媒通过emlog默认主题进行修改。

查询函数代码:(把下面的代码添加到主题的 module.php 文件)

function cutome_call($gid,$type){
    $db = MySql::getInstance();
    $sql = "SELECT * FROM ".DB_PREFIX."blog WHERE hide='n' and gid in ($gid) ORDER BY `date` DESC LIMIT 0,1";
    $list = $db->query($sql);
    while($row = $db->fetch_array($list)){
        if($type=='title'){
            return $row['title'];
        }elseif($type == 'time'){
            return $row['date'];
        }
    }
}

找到主题“最新评论”代码:

<?php
//widget:最新评论
function widget_newcomm($title){
    global $CACHE; 
    $com_cache = $CACHE->readCache('comment');
    ?>
    <li>
    <h3><span><?php echo $title; ?></span></h3>
    <ul id="newcomment">
    <?php
    foreach($com_cache as $value):
    $url = Url::comment($value['gid'], $value['page'], $value['cid']);
    ?>
    <li id="comment"><?php echo $value['name']; ?>
    <br /><a href="<?php echo $url; ?>"><?php echo $value['content']; ?></a></li>
    <?php endforeach; ?>
    </ul>
    </li>
<?php }?>

修改后的代码:

<?php
//widget:最新评论
function widget_newcomm($title){
    global $CACHE; 
    $com_cache = $CACHE->readCache('comment');
    ?>
    <li>
    <h3><span><?php echo $title; ?></span></h3>
    <ul id="newcomment">
    <?php
    foreach($com_cache as $value):
    $url = Url::comment($value['gid'], $value['page'], $value['cid']);
    ?>
    <li id="comment">     
        <?php echo $value['name']; ?> <?php echo gmdate('Y-n-j',cutome_call($value['gid'],'time'));?>
        <br/><a href="<?php echo $url; ?>" title="<?php echo cutome_call($value["gid'],'title');?>"><?php echo $value['content']; ?></a> 
    </li>
        <?php endforeach; ?>
    </ul>
    </li>
<?php }?>

以下代码是评论时间:

<?php echo gmdate('Y-n-j',cutome_call($value['gid'],'time'));?>

以下代码是评论标题:

<?php echo cutome_call($value['gid'],'title');?>

发表评论