非插件实现Emlog时间轴归档代码分享-站长杂谈下载

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

开通本站Svip会员,全站资源免费下
文件缓存型时间轴归档,后台更新缓存或者发布新文章的时候会自动更新;本站这个代码是使用缓存系统的,是需要修改内核文件的。慎用!
0 t/ Z6 @' |2 v5 V& `: e1、修改include/lib/cache.php文件,添加归档缓存函数
  1. private $logalias_cache;! C3 k1 T6 \  H: V# ]2 c6 o
  2. 之后添加
    ; z' w9 u( W) H& R
  3. private $loglists_cache;
复制代码
添加在其他缓存函数位置添加归档缓存
  1.         /*** 文章归档列表缓存 */" w+ f. w0 e2 f6 h
  2.         private function mc_loglists() {9 m( f1 W  I- s, _# L- J
  3.                 $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");
    % p' c' `4 T- i3 k0 V9 D
  4.                 $loglists_cache = array();
    5 y( T. X( H! W* `
  5.                 while ($row = $this->db->fetch_array($query)) {
    ! W' `" N* |4 N4 P: E! e, ]' ^
  6.                         $loglists_cache[]= $row;
    7 ^1 H8 x: x" x: F5 T
  7.                 }
    ) E3 s  B: l" _3 v
  8.                 $cacheData = serialize($loglists_cache);4 X1 O9 ~8 M9 d
  9.                 $this->cacheWrite($cacheData, 'loglists');8 A  g4 i" \) @: V3 a% {9 D
  10.         }
复制代码
不懂的朋友只请直接下载本文件覆盖include/lib/cache.php(请做好备份)cache.zip
5 a6 L- H4 p4 F( n  N! i2、此方法因不同的模板修改的有所差异,本站讲述以默认模板为例,首先复制模板目录下的page.php并重新命名为guidang.php(ps:这个自己可自行修改),把其中的<?php echo $log_content; ?>更改为如下代码即可
  1. <div class="guidang">
    4 L- k( d2 I7 F# E# X' }+ t" n
  2. <?php
    % ^4 S/ g% ^! h; x
  3. global $CACHE;
    4 W, u% @. u  a- i8 n& y
  4. $loglists_cache = $CACHE->readCache('loglists');4 R" M* T$ G! {* j3 u
  5. $year_month = 0;  Z: U9 E; t0 j& v+ n8 L
  6. foreach($loglists_cache as $value):
    % ]/ ]( d8 F3 \% @5 H; w, z
  7. if($year_month != 0&&$year_month != date("Y-m",$value['date'])){
    ; T1 _: S1 e( {8 _
  8. echo '</ul>';}
    : q6 O. E2 Q- B+ I6 R! q
  9. if($year_month != date("Y-m",$value['date'])){, v2 v- ]) P# P5 G  @: g0 H
  10. $year_month = date("Y-m",$value['date']);4 p  I( H2 W$ P
  11. echo '<h2 class="guidang-tt">'.$year_month.'</h3><ul>';}
    ' d2 ]9 F* e# J; U4 ]
  12. ?>6 n- H9 V! ?5 a( i- \' \6 l
  13. <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>% Q1 L1 H/ l4 W0 R
  14. <?php endforeach;?></div>
复制代码
CSS文件如下
  1. .guidang h2{font-size:150%;}
    4 ?4 `* z- H8 `* d2 k
  2. .guidang li a{padding:8px 0;display:block}
    , ^" K+ Q6 C$ c$ i% W
  3. .guidang li a:hover .atitle:after{background:#ff5c43}
    3 Q7 M! ?$ W) W, x$ E
  4. .guidang li a span{display: inline-block;width:100px;font-size:12px;text-indent:20px}6 S. ~) @1 A! n/ t  n; b
  5. .guidang li a .atitle{display: inline-block;padding:0 15px;position:relative;width:550px;white-space:nowrap;text-overflow:ellipsis;}
    9 r  @0 c8 M2 @" {
  6. .guidang li a .atitle:after{position:absolute;left:-2px;background:#ccc;height:8px;width:8px;border-radius:6px;top:8px;content:""}( }, o; d, q$ S) y3 n% f
  7. .guidang li a .atitle:before{position:absolute;left:-4px;background:#fff;height:12px;width:12px;border-radius:6px;top:6px;content:""}4 U" ?' `! ]- W0 Y" o, S
  8. .guidang{margin:10px;position:relative;padding:10px 0}1 I, n" O6 O8 ~' J
  9. .guidang:before{height:100%;width:4px;background:#eee;position:absolute;left:100px;content:"";top:0}! r0 G4 y) W% j# l. v% m) H
  10. .guidang-tt{position:relative;margin:10px 0;cursor:pointer}    2 N2 M9 Y) M) k0 v+ S4 |$ N
  11. .guidang-tt:hover:after{background:#ff5c43}# D4 b( }- }: Q  j
  12. .guidang-tt:before{position:absolute;left:93px;background:#fff;height:18px;width:18px;border-radius:6px;top:3px;content:""}& X, w6 t8 G& _; M2 f8 `4 ^4 X
  13. .guidang-tt:after{position:absolute;left:96px;background:#ccc;height:12px;width:12px;border-radius:6px;top:6px;content:""}
复制代码
然后建立一个页面,在页面模板处填写 guidang 即可
+ r2 h1 e7 C; I$ e  j6 c

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部