摘要:

今天抽空弄了下博客,默认的emlog侧边友情链接是全站显示的,个人也觉得友情链接,首页显示就足够了,必要全站链接,一般也只有首页权重高,对 SEO方面也有好处。想让博客的侧边栏不同页面能显示不一样的内容。由于是新手,什么都不懂,见emlog有个官方模板手册,下载回来看了下,说要要用“$curpage == CURPAGE_HOME”来判断首页,$curpage == CURPAGE_LOG 判断日志页。类似代码为

<?php if($curpage == CURPAGE_LOG): ?>
显示要调用的代码
<?php endif; ?>
但是测试后发现,用$curpage == CURPAGE_HOME来判断输出,不单单是首页,还有分类页,TAG页等。

今天抽空弄了下博客,默认的emlog侧边友情链接是全站显示的,个人也觉得友情链接,首页显示就足够了,必要全站链接,一般也只有首页权重高,对SEO方面也有好处。想让博客的侧边栏不同页面能显示不一样的内容。由于是新手,什么都不懂,见emlog有个官方模板手册,下载回来看了下,说要要用“$curpage == CURPAGE_HOME”来判断首页,$curpage == CURPAGE_LOG 判断日志页。类似代码为

<?php if($curpage == CURPAGE_LOG): ?>
显示要调用的代码
<?php endif; ?>

但是测试后发现,用$curpage == CURPAGE_HOME来判断输出,不单单是首页,还有分类页,TAG页等。开始以为是可能是主题的问题,换回官方默认主题,依然如此,让人有点小郁闷。看来只要是log_list.php输出的页面都会包括在内,类似的还有$curpage == CURPAGE_LOG,判断的不止是日志页面,还包括page页面,根本与它的命名不符合啊。

上网找了下,没有发现目前相关的插件,只找了个判断首页的方法,判断首页URL代码如下:

<?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL):?>友情链接调用代码<?php endif;?>

调用函数的意思,就是判断当前连接是否为博客首页连接,如果是则显示友情链接组件,不是则不显示。前期是后台Widgets添加了友情链接组件或者模板有相关的调用。

记录下自己改动过的文件:

一般通过侧边栏组件调用的友情链接代码都在模板的module.php文件里,打开module.php文件进行修改,找到“//widget:链接”所在区域,加添加上面的判断代码:

<?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL):?>
<?php
//widget:链接
function widget_link($title){
    global $CACHE;
    $link_cache = $CACHE->readCache('link');
    ?>
    <li id="sidebar-link" class="widget">
    <h3><span><?php echo $title; ?></span></h3>
    <ul class="ulstyle">
    <?php foreach($link_cache as $value): ?>
    <li><a href="<?php echo $value['url']; ?>" title="<?php echo $value['des']; ?>" target="_blank"><?php echo $value['link']; ?></a></li>
    <?php endforeach; ?>
    </ul>
    </li>
<?php }?>

<?php endif;?>

由于这个是单独的判断首页,与其他的判断语句