Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面的各种类型(位置?),实现不同的功能。下面是我在论坛里面收集的一些常见而实用的日志列表页面的判断,基本上可以满足大多数 EMER 的需要了吧。如果你还什么更好的代码,也不防拿出来分享一下。 好了,闲话到此,下面才是正题。 日志列表页 (包括各种情况下的日志列表页及其翻页,如:首页、分类、标签、归档、作者……等等)- <?php if($curpage == CURPAGE_HOME): ?>7 f. F6 i1 g: z7 X1 ?! W
- 内容代码;* \2 V! T8 o5 Q/ l+ m
- <?php endif; ?>
复制代码 Emlog 默认的“首页”链接即属于此种情况。要注意的是,EM5.0 由于取消了 $curpage 变量,此判断不再有效。关于 EM5.0 日志列表页的判断,奇遇 大神给出的代码如下,有兴趣的 emer 不妨试一下:- <?php if (!isset($logid) && empty($tws)): ?>
$ j% W6 [- J4 V; Q* ]# S& V' u - 内容代码;8 `6 V6 F% _7 b, X$ i$ A# ?
- <?php endif; ?>
复制代码 下面再列出一些常见的日志列表页的判断。 首页日志列表及其翻页- <?php if($pageurl == Url::logPage()): ?>% Q& `$ A7 K( h+ k ^* _8 _" Z7 J
- 内容代码;0 n6 B1 s. J6 G2 Z2 `
- <?php endif; ?>
复制代码分类日志列表及其翻页 - <?php if(isset($sortName)): ?>& M9 J- ?1 h8 l
- 内容代码;
- k& s8 k; M& G1 b* I# Z, n6 A* `; B - <?php endif; ?>
复制代码标签日志列表及其翻页 - <?php if(isset($tag)): ?>3 P8 ?: B! x0 ]) D! T
- 内容代码;
' f5 d6 v# n0 ~& N; [$ Z - <?php endif; ?>
复制代码 纯首页(不包含除首页外的各种日志列表页及其翻页)9 z) `: k1 A8 K# e6 r3 r
- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>7 Z9 }8 ` j- O
- 内容代码;# V# M2 m; k4 }5 f) G
- <?php endif; ?>
复制代码
% e& u8 d+ ~8 J0 `# @ 如果能够灵活使用上面的判断,就会实现一些你意想不到的功能了。举个例子,如果你只想在日志首页显示一些内容,而在其它非首页页面(包括各种日志列表页)显示另一些内容,则只需在纯首页判断的基础上加一个 else 分支就可以了:- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>
$ |4 t, W2 E5 N% T( x0 K' l+ t: \ - 内容代码1;+ s% N: W3 m2 q
- <?php else: ?>
T- L, E$ e) U' l1 {$ Q- F - 内容代码2;
0 v4 t3 [+ A) V+ n+ J' z - <?php endif; ?>
复制代码 不过要注意的是,有些IIS平台下这个纯首页的判断会失效。Emlog 从 5.2.0 版本开始,在默认模板中引入了一个判断纯首页的函数:- <?php# _: k. a( j/ b+ q
- //blog-tool:判断是否是纯首页2 K' t' i" o( V' s
- function blog_tool_ishome(){
. W9 {4 v. F' ?% Y* z( P - if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){, c* P- a0 B3 R9 o |
- return true;
7 x9 f' B* z8 A# {6 R - } else {
+ T1 X0 o' ]$ R0 F0 Q - return FALSE;- ?) O8 r( o! z5 h8 y& G5 j7 w% Z
- }
4 D* W- L9 E- _) U - }# v# q3 |% U4 P* c* o
- ?>
复制代码 要判断纯首页的时候,只需要使用该函数就可以了:- <?php if(blog_tool_ishome()): ?>2 L4 v: X& |7 |
- 内容代码;
- P0 y* J) ~5 X9 h* N3 }+ K - <?php endif; ?>
复制代码 怎么,够简单吧,自己找个模板试一试吧。什么,不知道在哪里使用?一般用在 log_list.php 以及 module.php 中的侧边栏代码,当然,header.php 据说也可以用,side.php 据说也行。。。总之,可以用在你想用的地方。 : `0 p! c7 I( w4 h
; s4 k- i) U$ ~6 K+ y+ d |