EMLOG自定义侧边栏和畅言设置

前言

今天一个朋友修改了他的博客:http://www.ljcoder.com/archives/50,效果像这样

屏幕快照 2016-06-29 19.25.03.png

看了下挺不错的,然后就在想emlog也折腾下,网上分享的挺多的,然后就开始折腾了,没有直接修改页面,通过修改侧边栏来曲线救国。

一、自定义emlog边栏 让首页列表文章页实现不同侧边栏

首先先要实现不同界面显示不同的侧边栏,因为首页的侧边栏肯定和文章页面的不一样才可以,这里文章列表页面我保持的和首页一样,并没有修改,如果想要把文章列表页面也修改的话,可以参考我下面列举的那些博客方法。

1、修改header.php文件

先设置模板的header.php开头标明此模板的侧边栏数量,最多可设置4个。

屏幕快照 2016-06-29 19.32.28.png

2、复制side.php文件

把模板里面的side.php复制一份,你想自定义几个就复制出来几个,我这里只以两个为例,因为我感觉两个就够用了,如果是更多自定义,想把多个页面的侧边栏都不同,我文章后面坠的那些博客里面有四个的实现方法。

我这里复制出来一份,重命名为side_log.php

屏幕快照 2016-06-29 19.36.07.png

3、修改side.php和side_log.php文件

修改这两个文件里面的id值,修改side_log.php文件中的两个widgets1,都修改成widgets2

72303072gw1esyxsue0wij20mo084jtf.jpg

4、修改echo_log.php对应的引入

修改引入的side修改成side_log

屏幕快照 2016-06-29 20.04.38.png

5、重新启动主题(切换其他主题再切换回来即可)

查看侧边栏设置,是不是出来了。下拉框中的1234就是你刚刚第3步设置的ID顺序。

72303072gw1esyxzeyhwjj20fm067mxp.jpg

如果你想把首页和列表页也修改成不同的侧边栏,请看参考文章的第一篇。

二、添加文章对应的分类的该分类下的文章

1、修改side_log.php文件

如果你想把他做成一个后台累死的那种widgets,可以参考后面的参考文章的第二篇,我这里直接就写最简单的那种实现方法,写死代码,不可拖动的那种。

在side_log.php文件的最后面,</aside>便签前添加下面代码,这个代码就是实现的对应分类的名字和分类的文章。

<div class="widget widget_custom">
<h3>更多<?php blog_sort($logid); ?></h3>
<?php  Get_newlogs(25, $logData['sortid']);?>
<!-- 输出该分类最新文章 -->
<?php
function Get_newlogs($log_num, $log_id ) {
    $db = MySql::getInstance();
    $sql = 	"SELECT gid,title,date,content,views FROM ".DB_PREFIX."blog WHERE type='blog' and hide='n' and sortid IN ($log_id) ORDER BY `date` DESC LIMIT 0,$log_num";
    $list = $db->query($sql);
    while($row = $db->fetch_array($list)){ ?>
<li><a href="<?php echo Url::log($row['gid']); ?>"><?php echo $row['title']; ?></a></li>
<hr/>
   <?php } ?>
<?php } ?>
</div>

2、刷新界面即可。

屏幕快照 2016-06-29 19.19.55.png

三、总结emlog几个常用的变量的获取

这几个变量可以参考emlog的wiki模板的说明。

1、在侧边栏side_log.php和文章页面echo_log.php中

<?php blog_sort($logid); ?>分类id的名字,直接带链接,不是id

<?php echo $logid; ?>文章的id

<?php echo $logData['logid'] ; ?>和上面一样,也可以得到文章id,文章页

<?php echo $logData['sortid'] ; ?> 文章分类

logData包涵下面节点,想获取文章id那样就可以得到想要的变量:

log_title,timestamp,date,logid,sortid,type,author,log_content,views,comnum,top,sortop,attnum,allow_remark,password,template


2、在log_list.php文章列表页和文章页面echo_log.php中


可以使用<?php echo $value['logid']; ?>获取文章id,在列表页使用<?php echo $logData['logid'] ; ?>得不到id


这些id主要用在自己便利和畅言等应用上面的传值。


四、自定义404页面


修改404.php,在开头引入header.php

if(!defined('EMLOG_ROOT')) {exit('error!');}
require_once('header.php');
?>

在结尾引入footer.php

<?php 
	require_once('footer.php');
?>

中间可以自己按照自己的div写


五、参考文章:


  1. 自定义emlog边栏 让首页列表文章页实现不同侧边栏
  2. emlog侧边栏增加系统组件
  3. EMLOG调用指定多个分类文章列表代码
  4. EMLOG获取当前主分类下的子分类名和链接的代码
  5. 分享emlog调用各分类栏目标题、描述、别名及发布的文章数
  6. sourceid配置
  7. 模板开发基础指南(适用于emlog5)

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment