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

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

来自版块: 站长杂谈发表于: 2015-8-17 13:13:12
30425
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
文件缓存型时间轴归档,后台更新缓存或者发布新文章的时候会自动更新;本站这个代码是使用缓存系统的,是需要修改内核文件的。慎用!
+ m4 n; H+ O/ n9 \: \  ~8 @1、修改include/lib/cache.php文件,添加归档缓存函数
  1. private $logalias_cache;7 d' E: ?: u. A
  2. 之后添加9 p  T4 T) c. Q1 E
  3. private $loglists_cache;
复制代码
添加在其他缓存函数位置添加归档缓存
  1.         /*** 文章归档列表缓存 */
    - y6 p4 s- ]2 c5 T9 t& H7 e  H
  2.         private function mc_loglists() {
    : y! n, ]8 `9 J, R* ^
  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");
    - z! E% L2 D4 L+ j8 }
  4.                 $loglists_cache = array();
    ) g' W% c$ R& S! _
  5.                 while ($row = $this->db->fetch_array($query)) {: K, M8 d) N+ k: B
  6.                         $loglists_cache[]= $row;
    % R+ @$ y2 |9 q5 f* L& D
  7.                 }
    7 d  U) K$ F% J% t, ], L# l
  8.                 $cacheData = serialize($loglists_cache);; M/ k! X: S' N' g. S3 O3 U
  9.                 $this->cacheWrite($cacheData, 'loglists');$ I: R7 |4 Y# f  x% g
  10.         }
复制代码
不懂的朋友只请直接下载本文件覆盖include/lib/cache.php(请做好备份)cache.zip
' H- R/ L% ]) T- f3 X2、此方法因不同的模板修改的有所差异,本站讲述以默认模板为例,首先复制模板目录下的page.php并重新命名为guidang.php(ps:这个自己可自行修改),把其中的<?php echo $log_content; ?>更改为如下代码即可
  1. <div class="guidang">
    " c! b, m; N% ~7 E6 ^
  2. <?php/ v2 ~4 g: G1 {, k: M6 r4 V
  3. global $CACHE;
    , W- e9 c/ V# z4 N5 V% D
  4. $loglists_cache = $CACHE->readCache('loglists');
    % T, ~) Q' G3 I7 p3 `
  5. $year_month = 0;) O+ W9 o6 c- Z/ x# f
  6. foreach($loglists_cache as $value):
    0 I* D( n: v: ?, j2 i
  7. if($year_month != 0&&$year_month != date("Y-m",$value['date'])){
    $ L2 h& B8 [. L1 K% a) b+ F) B0 S
  8. echo '</ul>';}
    7 I/ W1 c% D7 {0 n* a
  9. if($year_month != date("Y-m",$value['date'])){$ H; Q9 O. M+ L% u' B) T
  10. $year_month = date("Y-m",$value['date']);
    : D3 f8 d) K) ]# ]
  11. echo '<h2 class="guidang-tt">'.$year_month.'</h3><ul>';}
    ( z9 N3 f" S4 q' H" h
  12. ?>3 [3 M  U" i" g) v
  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>& c# C- |  y, F% M; B; Q# E
  14. <?php endforeach;?></div>
复制代码
CSS文件如下
  1. .guidang h2{font-size:150%;}
    2 b; G# `5 U2 m0 H  G0 [, Q
  2. .guidang li a{padding:8px 0;display:block}. t" r$ y; T& W) H/ `1 z& ?
  3. .guidang li a:hover .atitle:after{background:#ff5c43}; h' ^! ?7 C) i# `- @1 f0 n1 S; n
  4. .guidang li a span{display: inline-block;width:100px;font-size:12px;text-indent:20px}
    ) v' e1 W; K% W( h
  5. .guidang li a .atitle{display: inline-block;padding:0 15px;position:relative;width:550px;white-space:nowrap;text-overflow:ellipsis;}6 \5 i  }( @2 t
  6. .guidang li a .atitle:after{position:absolute;left:-2px;background:#ccc;height:8px;width:8px;border-radius:6px;top:8px;content:""}
    ; n6 t3 a" x& T) {* g& G7 f: _
  7. .guidang li a .atitle:before{position:absolute;left:-4px;background:#fff;height:12px;width:12px;border-radius:6px;top:6px;content:""}0 v: R+ E; T8 i" N4 {& }
  8. .guidang{margin:10px;position:relative;padding:10px 0}0 h* E8 E- t8 n! T" v
  9. .guidang:before{height:100%;width:4px;background:#eee;position:absolute;left:100px;content:"";top:0}
    # g; R( L% [& ?' o3 ]* K
  10. .guidang-tt{position:relative;margin:10px 0;cursor:pointer}   
    3 {! b; U3 y" z. g
  11. .guidang-tt:hover:after{background:#ff5c43}
    7 u6 y! ]& u* L7 C: a7 K3 g6 c
  12. .guidang-tt:before{position:absolute;left:93px;background:#fff;height:18px;width:18px;border-radius:6px;top:3px;content:""}
    5 L+ y) j6 v. g$ U, o7 L3 w
  13. .guidang-tt:after{position:absolute;left:96px;background:#ccc;height:12px;width:12px;border-radius:6px;top:6px;content:""}
复制代码
然后建立一个页面,在页面模板处填写 guidang 即可$ L( M( g# R& v$ s

全部评论 0

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