当前位置:首页 » Emlog教程 » 非插件实现Emlog时间轴归档代码分享

非插件实现Emlog时间轴归档代码分享

文件缓存型时间轴归档,后台更新缓存或者发布新文章的时候会自动更新;本站这个代码是使用缓存系统的,是需要修改内核文件的。慎用!
1、修改include/lib/cache.php文件,添加归档缓存函数
private $logalias_cache;
之后添加
private $loglists_cache;
添加在其他缓存函数位置添加归档缓存
	/*** 文章归档列表缓存 */
	private function mc_loglists() {
		$query = $this->db->query('select gid,title,date from ' . DB_PREFIX . "blog WHERE hide='n' and checked='y' and type='blog' ORDER BY date DESC");
		$loglists_cache = array();
		while ($row = $this->db->fetch_array($query)) {
			$loglists_cache[]= $row;
		}
		$cacheData = serialize($loglists_cache);
		$this->cacheWrite($cacheData, 'loglists');
	}
不懂的朋友只请直接下载本文件覆盖include/lib/cache.php(请做好备份)cache.zip
博客开通时间过长的话,可能后面发布的文章会显示不出来,可自定义时间:AND date > $time - 3*365*24*60*60(这个代码表示显示最近3年的文章)

2、此方法因不同的模板修改的有所差异,本站讲述以默认模板为例,首先复制模板目录下的page.php并重新命名为guidang.php(ps:这个自己可自行修改),把其中的<?php echo $log_content; ?>更改为如下代码即可
<div class="guidang">
<?php
global $CACHE; 
$loglists_cache = $CACHE->readCache('loglists');
$year_month = 0;
foreach($loglists_cache as $value):
if($year_month != 0&&$year_month != date("Y-m",$value['date'])){
echo '</ul>';}
if($year_month != date("Y-m",$value['date'])){
$year_month = date("Y-m",$value['date']);
echo '<h2 class="guidang-tt">'.$year_month.'</h3><ul>';}
?>
<li><a href="<?php echo Url::log($value['gid']);?>" target="_blank" title="<?php echo $value['title']; ?>"><span><?php echo date("Y-m-d",$value['date']);?></span><div class="atitle"><?php echo $value['title'];?></div></a></li>
<?php endforeach;?></div>
css文件如下
.guidang h2{font-size:150%;}
.guidang li a{padding:8px 0;display:block}
.guidang li a:hover .atitle:after{background:#ff5c43}
.guidang li a span{display: inline-block;width:100px;font-size:12px;text-indent:20px}
.guidang li a .atitle{display: inline-block;padding:0 15px;position:relative;width:550px;white-space:nowrap;text-overflow:ellipsis;}
.guidang li a .atitle:after{position:absolute;left:-2px;background:#ccc;height:8px;width:8px;border-radius:6px;top:8px;content:""}
.guidang li a .atitle:before{position:absolute;left:-4px;background:#fff;height:12px;width:12px;border-radius:6px;top:6px;content:""}
.guidang{margin:10px;position:relative;padding:10px 0}
.guidang:before{height:100%;width:4px;background:#eee;position:absolute;left:100px;content:"";top:0}
.guidang-tt{position:relative;margin:10px 0;cursor:pointer}    
.guidang-tt:hover:after{background:#ff5c43}
.guidang-tt:before{position:absolute;left:93px;background:#fff;height:18px;width:18px;border-radius:6px;top:3px;content:""}
.guidang-tt:after{position:absolute;left:96px;background:#ccc;height:12px;width:12px;border-radius:6px;top:6px;content:""}
然后建立一个页面,在页面模板处填写 guidang 即可,演示地址:http://www.shuyong.net/guidang.html
End
关键词: emlog
温馨提示:如果您对本文有疑问,请在本页留言即可!!!
觉得很赞 (1)付款方式
X
付款方式:
  • 微信
  • 支付宝
  • QQ红包

使用微信扫一扫
blogger
    发布日期:2014-11-21   所属类别:Emlog教程   浏览:8997次   评论:9次
    本文地址:http://www.shuyong.net/iemlog/528.html [ 百度已收录 ]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!

留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

填写好QQ号码,任点空白处自动获取

昵称

邮箱

网址

5楼、山山而川 [回复该留言]
2020-04-18 17:29
踩踩
4楼、小杰 [回复该留言]
2017-06-18 12:19
其实,我建议弄成鼠标触碰打开时间轴,一个个点有点不灵活吧
3楼、唐瑞 [回复该留言]
2014-12-27 01:26
谢谢,我可以了
2楼、唐瑞 [回复该留言]
2014-12-26 09:46
好像没用啊
舍力 [回复该留言]
2014-12-26 12:51
@唐瑞:演示地址都有了,怎么可能没用呢?仔细检测一下自己弄的。可能那里弄错了吧
唐瑞 [回复该留言]
2014-12-27 01:14
@舍力:好的,我再去试试看看
1楼、唯一度博客 [回复该留言]
2014-12-03 05:54
如果有收缩功能会更好一点
舍力 [回复该留言]
2014-12-03 08:40
@唯一度博客:这个css应该就可以搞定的,可以捣鼓一下的。。。
唯一度博客 [回复该留言]
2014-12-03 08:42
@舍力:我是菜鸟

个人资料

舍力

博主:舍力

Emlog交流群

    简单的道理,复杂的人生!

博客统计

  • 文章数量:1133篇
  • 文章评论:3520条
  • 总访问量:10299388次
  • 微语数量:81条
  • 在线人数:2人
  • 本站运行:11年2月27天
  • 估计博主很忙,已经很久没更新了!
Q2 虚位以待
Copyright © 2024 舍力博客 版权所有   粤ICP备11021420号
基于宝塔面板,数据存储于阿里云ECS
Powered by emlog / &Author 舍力博客.