Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面的各种类型(位置?),实现不同的功能。下面是我在论坛里面收集的一些常见而实用的日志列表页面的判断,基本上可以满足大多数 EMER 的需要了吧。如果你还什么更好的代码,也不防拿出来分享一下。 好了,闲话到此,下面才是正题。 日志列表页 (包括各种情况下的日志列表页及其翻页,如:首页、分类、标签、归档、作者……等等)- <?php if($curpage == CURPAGE_HOME): ?>8 U5 z& }& V- e" e4 L
- 内容代码;& C/ Z0 r9 n& k+ Q7 z( Y- q% y
- <?php endif; ?>
复制代码 Emlog 默认的“首页”链接即属于此种情况。要注意的是,EM5.0 由于取消了 $curpage 变量,此判断不再有效。关于 EM5.0 日志列表页的判断,奇遇 大神给出的代码如下,有兴趣的 emer 不妨试一下:- <?php if (!isset($logid) && empty($tws)): ?>- e( C: A$ A( q8 m
- 内容代码;$ k, D' t# D' S1 A5 u
- <?php endif; ?>
复制代码 下面再列出一些常见的日志列表页的判断。 首页日志列表及其翻页- <?php if($pageurl == Url::logPage()): ?>% [/ }0 q; W5 f
- 内容代码;" N" I6 U, z0 {. ~
- <?php endif; ?>
复制代码分类日志列表及其翻页 - <?php if(isset($sortName)): ?>( [/ c2 y2 X4 f
- 内容代码;
1 Y. K2 ~$ A$ Z, } - <?php endif; ?>
复制代码标签日志列表及其翻页 - <?php if(isset($tag)): ?>8 k. h t* B) Q, |
- 内容代码;7 M3 R$ S" f# p1 `8 N# Y
- <?php endif; ?>
复制代码 纯首页(不包含除首页外的各种日志列表页及其翻页)6 z: E [3 }+ M
- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>
1 F+ `& q7 w( K5 J3 d! I - 内容代码;
7 {$ Z$ M* _5 G - <?php endif; ?>
复制代码 C' o6 F& O, j2 B: D3 l
如果能够灵活使用上面的判断,就会实现一些你意想不到的功能了。举个例子,如果你只想在日志首页显示一些内容,而在其它非首页页面(包括各种日志列表页)显示另一些内容,则只需在纯首页判断的基础上加一个 else 分支就可以了:- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>3 s1 Y( }: `0 E# x. z
- 内容代码1;
. C& _0 Q J3 ]( D# ` - <?php else: ?>
7 Y0 g `% O- [ - 内容代码2;
& p0 m2 j6 [& J8 q. M5 R - <?php endif; ?>
复制代码 不过要注意的是,有些IIS平台下这个纯首页的判断会失效。Emlog 从 5.2.0 版本开始,在默认模板中引入了一个判断纯首页的函数:- <?php4 M% X7 G$ c4 h% w) }) @
- //blog-tool:判断是否是纯首页' }0 E5 _- R, n6 b
- function blog_tool_ishome(){
8 I( p; \/ q4 @9 Q - if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){' w) z# I+ d' r( c) Z0 N' }# x
- return true;
: u+ b0 U1 R1 Z9 I- F) r, X - } else {9 C% [" i$ Q2 }. I) j9 g- Z
- return FALSE;1 I) K/ E- x& D5 U8 L
- }
; m4 A% E1 W% U# a9 A - }
" i; L- k% \2 ?+ f G5 o - ?>
复制代码 要判断纯首页的时候,只需要使用该函数就可以了:- <?php if(blog_tool_ishome()): ?> T3 L. v+ c& P/ h! Z
- 内容代码;$ ?# Z- j/ m+ n# p4 R" x' p
- <?php endif; ?>
复制代码 怎么,够简单吧,自己找个模板试一试吧。什么,不知道在哪里使用?一般用在 log_list.php 以及 module.php 中的侧边栏代码,当然,header.php 据说也可以用,side.php 据说也行。。。总之,可以用在你想用的地方。
, G# o# D' G; h, T' r9 f, f# r4 S! ^+ r' t% X& x0 H* J2 `
|