Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面的各种类型(位置?),实现不同的功能。下面是我在论坛里面收集的一些常见而实用的日志列表页面的判断,基本上可以满足大多数 EMER 的需要了吧。如果你还什么更好的代码,也不防拿出来分享一下。 好了,闲话到此,下面才是正题。 日志列表页 (包括各种情况下的日志列表页及其翻页,如:首页、分类、TAG.html" target="_blank" class="relatedlink">标签、归档、作者……等等)- ' m+ N# @, S/ d2 ?5 G
- <?php if($curpage == CURPAGE_HOME): ?>
) h6 u: }' ~* [2 \. X - 内容代码;- o8 F. G3 \3 Z( W/ v% Q& |4 G) p z$ b
- <?php endif; ?>
复制代码 Emlog 默认的“首页”链接即属于此种情况。要注意的是,EM5.0 由于取消了 $curpage 变量,此判断不再有效。关于 EM5.0 日志列表页的判断,奇遇 大神给出的代码如下,有兴趣的 emer 不妨试一下:- 0 Q8 o- h- I8 N' U
- <?php if (!isset($logid) && empty($tws)): ?>
0 @5 V# p2 `1 T. B l! L - 内容代码;2 V* x3 q2 d: E/ K( d
- <?php endif; ?>
复制代码 下面再列出一些常见的日志列表页的判断。 首页日志列表及其翻页- <?php if($pageurl == Url::logPage()): ?>1 E" n% I9 E. Z
- 内容代码;
! D+ q5 p Q8 p3 O - <?php endif; ?>
复制代码分类日志列表及其翻页- <?php if(isset($sortName)): ?>
, i# b4 i$ A: V! r/ s6 R - 内容代码;& c* z% ^, q* M/ O( F% ^
- <?php endif; ?>
复制代码 标签日志列表及其翻页- <?php if(isset($tag)): ?>; k1 w0 P3 Y) S8 R. W! r
- 内容代码;5 m% y& z% F$ S
- <?php endif; ?>
复制代码 纯首页(不包含除首页外的各种日志列表页及其翻页)- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>
9 u1 X, G$ N+ b1 C - 内容代码;$ C8 e% Y) S# N6 ^+ `7 A
- <?php endif; ?>
复制代码
: v- {: N$ ~# R) w' w 如果能够灵活使用上面的判断,就会实现一些你意想不到的功能了。举个例子,如果你只想在日志首页显示一些内容,而在其它非首页页面(包括各种日志列表页)显示另一些内容,则只需在纯首页判断的基础上加一个 else 分支就可以了:- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>
# p5 h# a e4 x' ~3 T9 ` - 内容代码1;5 X+ |2 B# h& t' f0 b: q
- <?php else: ?>- N5 Y7 t7 d f0 \ ]
- 内容代码2;
+ ], o# z# q5 B - <?php endif; ?>
复制代码 不过要注意的是,有些IIS平台下这个纯首页的判断会失效(感谢网友 名盟世家 的提醒)。Emlog 从 5.2.0 版本开始,在默认模板中引入了一个判断纯首页的函数: - <?php6 h, u8 O. K9 G1 G; R4 W
- //blog-tool:判断是否是纯首页
( u& k5 Z0 K2 Q4 _6 o - function blog_tool_ishome(){
* _5 ] X4 \& Q& L - if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){8 x3 w. J/ H/ M$ f& |4 o. z) u
- return true;2 O% L0 r, }5 V5 F% w5 m+ h
- } else {
: k4 p5 r0 N' ] - return FALSE;
2 B# @. f. c1 o g - }9 w- Z7 V! l- S/ r8 D2 r& Y
- }3 k2 c; ~( N+ D$ q& w7 C+ I
- ?>
复制代码 要判断纯首页的时候,只需要使用该函数就可以了:- <?php if(blog_tool_ishome()): ?>
) h& ^$ v6 l4 T* f2 O* k; e - 内容代码;
. T5 G* V" z8 `7 H5 A - <?php endif; ?>
复制代码 怎么,够简单吧,自己找个模板试一试吧。什么,不知道在哪里使用?一般用在 log_list.php 以及 module.php 中的侧边栏代码,当然,header.php 据说也可以用,side.php 据说也行。。。总之,可以用在你想用的地方。 % @% o$ P! J, c' \# U* B7 V4 f
|