Emlog常用日志列表页的判断-站长杂谈下载

Emlog常用日志列表页的判断

开通本站Svip会员,全站资源免费下
  Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面的各种类型(位置?),实现不同的功能。下面是我在论坛里面收集的一些常见而实用的日志列表页面的判断,基本上可以满足大多数 EMER 的需要了吧。如果你还什么更好的代码,也不防拿出来分享一下。
  好了,闲话到此,下面才是正题。
日志列表页 (包括各种情况下的日志列表页及其翻页,如:首页、分类、TAG.html" target="_blank" class="relatedlink">标签、归档、作者……等等)
  1. <?php if($curpage == CURPAGE_HOME): ?>
      o2 c& B+ j* d; U3 v
  2. 内容代码;
    2 N# F1 }6 I: r0 }* W# {
  3. <?php endif; ?>
复制代码
  Emlog 默认的“首页”链接即属于此种情况。要注意的是,EM5.0 由于取消了 $curpage 变量,此判断不再有效。关于 EM5.0 日志列表页的判断,奇遇 大神给出的代码如下,有兴趣的 emer 不妨试一下:
  1. <?php if (!isset($logid) && empty($tws)): ?>
    % q6 e7 k- q$ A- c9 Q
  2. 内容代码;  i- O2 S+ n  Y
  3. <?php endif; ?>
复制代码
  下面再列出一些常见的日志列表页的判断。
首页日志列表及其翻页
  1. <?php if($pageurl == Url::logPage()): ?>
    5 L; s) g$ l3 Z0 h# U7 U! y; A! j9 p
  2. 内容代码;
    # e# }% C+ W& A/ u
  3. <?php endif; ?>
复制代码
分类日志列表及其翻页
  1. <?php if(isset($sortName)): ?>
    : i  a. f2 S8 D. R' d7 S
  2. 内容代码;
    ! t8 U" p6 F7 u2 j
  3. <?php endif; ?>
复制代码
标签日志列表及其翻页
  1. <?php if(isset($tag)): ?>- w) h. o: z: Y0 C& E$ c
  2. 内容代码;
    + t9 b' h% c2 b' y! m+ E
  3. <?php endif; ?>
复制代码
纯首页(不包含除首页外的各种日志列表页及其翻页)
+ f) O  j& L0 g7 p1 H! N4 V. _
  1. <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>9 u+ l4 J% d+ t! p0 @8 n. d( S' @) h
  2. 内容代码;) t% ?; `1 f! O. c
  3. <?php endif; ?>
复制代码

- C. X8 S; `, j, `) s, B7 z8 T" J' ?
  如果能够灵活使用上面的判断,就会实现一些你意想不到的功能了。举个例子,如果你只想在日志首页显示一些内容,而在其它非首页页面(包括各种日志列表页)显示另一些内容,则只需在纯首页判断的基础上加一个 else 分支就可以了:
  1. <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>7 |% R& f  ~* K9 E% n$ G& m( D+ ^2 A& }
  2. 内容代码1;
    3 |, M8 M4 k( V2 s( C4 X
  3. <?php else: ?>- }' D; C' s( d
  4. 内容代码2;
    ' W; c0 |- F+ B) q% n* N5 Y  k
  5. <?php endif; ?>
复制代码
  不过要注意的是,有些IIS平台下这个纯首页的判断会失效。Emlog 从 5.2.0 版本开始,在默认模板中引入了一个判断纯首页的函数:
  1. <?php! J! B! O* O( c8 ]0 E& [' p* F
  2. //blog-tool:判断是否是纯首页* J; U  F, r+ _4 c) n. R, C
  3. function blog_tool_ishome(){
    7 d  Z; l+ q- Q3 }5 T9 a8 ^. \
  4.     if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){
    # ]! ]% i0 b* @/ d" r
  5.         return true;
    8 T" m$ B8 ]3 O: I* J) h% q$ g
  6.     } else {3 R& Q% g( b1 b2 I& v% o
  7.         return FALSE;
    # L0 p9 M5 ^2 i
  8.     }
    - E8 ?% g7 r  L! y  Y9 \
  9. }
    & f0 o, _! \! a/ }) h; U8 k9 ^+ t: y4 M
  10. ?>
复制代码
  要判断纯首页的时候,只需要使用该函数就可以了:
  1. <?php if(blog_tool_ishome()): ?>/ M) {& z% q8 R# w, k
  2. 内容代码;# y! {/ g0 r1 R- a0 J5 m& l
  3. <?php endif; ?>
复制代码
  怎么,够简单吧,自己找个模板试一试吧。什么,不知道在哪里使用?一般用在 log_list.php 以及 module.php 中的侧边栏代码,当然,header.php 据说也可以用,side.php 据说也行。。。总之,可以用在你想用的地方。
$ F0 d7 c& B5 M& g
* Y3 E0 ?: u0 ^3 i( k4 a

全部评论 0

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