前言
今天一个朋友修改了他的博客:http://www.ljcoder.com/archives/50,效果像这样
看了下挺不错的,然后就在想emlog也折腾下,网上分享的挺多的,然后就开始折腾了,没有直接修改页面,通过修改侧边栏来曲线救国。
一、自定义emlog边栏 让首页列表文章页实现不同侧边栏
首先先要实现不同界面显示不同的侧边栏,因为首页的侧边栏肯定和文章页面的不一样才可以,这里文章列表页面我保持的和首页一样,并没有修改,如果想要把文章列表页面也修改的话,可以参考我下面列举的那些博客方法。
1、修改header.php文件
先设置模板的header.php开头标明此模板的侧边栏数量,最多可设置4个。
2、复制side.php文件
把模板里面的side.php复制一份,你想自定义几个就复制出来几个,我这里只以两个为例,因为我感觉两个就够用了,如果是更多自定义,想把多个页面的侧边栏都不同,我文章后面坠的那些博客里面有四个的实现方法。
我这里复制出来一份,重命名为side_log.php
3、修改side.php和side_log.php文件
修改这两个文件里面的id值,修改side_log.php文件中的两个widgets1,都修改成widgets2
4、修改echo_log.php对应的引入
修改引入的side修改成side_log
5、重新启动主题(切换其他主题再切换回来即可)
查看侧边栏设置,是不是出来了。下拉框中的1234就是你刚刚第3步设置的ID顺序。
如果你想把首页和列表页也修改成不同的侧边栏,请看参考文章的第一篇。
二、添加文章对应的分类的该分类下的文章
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、刷新界面即可。
三、总结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写
五、参考文章:
- 自定义emlog边栏 让首页列表文章页实现不同侧边栏
- emlog侧边栏增加系统组件
- EMLOG调用指定多个分类文章列表代码
- EMLOG获取当前主分类下的子分类名和链接的代码
- 分享emlog调用各分类栏目标题、描述、别名及发布的文章数
- sourceid配置
- 模板开发基础指南(适用于emlog5)
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/310.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!
1 条评论
谢谢分享