Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面的各种类型(位置?),实现不同的功能。下面是我在论坛里面收集的一些常见而实用的日志列表页面的判断,基本上可以满足大多数 EMER 的需要了吧。如果你还什么更好的代码,也不防拿出来分享一下。 好了,闲话到此,下面才是正题。 日志列表页 (包括各种情况下的日志列表页及其翻页,如:首页、分类、标签、归档、作者……等等)
$ B1 q5 d% r5 x4 n$ I5 f- <?php if($curpage == CURPAGE_HOME): ?>
V, N$ G9 f; }2 E" q. ` - 内容代码;% |. e( ]. L* [$ q1 n# \' {) C& X
- <?php endif; ?>
复制代码 Emlog 默认的“首页”链接即属于此种情况。要注意的是,EM5.0 由于取消了 $curpage 变量,此判断不再有效。关于 EM5.0 日志列表页的判断,奇遇 大神给出的代码如下,有兴趣的 emer 不妨试一下:
9 F2 m: r5 K7 \" s0 b2 A- <?php if (!isset($logid) && empty($tws)): ?>' w6 R& r4 [- F
- 内容代码;0 ^$ d0 Z0 p4 ?2 i2 H. l
- <?php endif; ?>
复制代码 下面再列出一些常见的日志列表页的判断。 首页日志列表及其翻页- <?php if($pageurl == Url::logPage()): ?>
5 k Z" @' U9 e ^ z' z, E - 内容代码; J3 `6 L9 v0 T
- <?php endif; ?>
复制代码分类日志列表及其翻页- <?php if(isset($sortName)): ?>
' [0 l/ Z6 ^9 f) C# k( }# ^/ a - 内容代码;3 b4 I* q4 X* ~! n
- <?php endif; ?>
复制代码 标签日志列表及其翻页- <?php if(isset($tag)): ?>6 s0 ]! ^* \; u6 n
- 内容代码;5 K* {/ @* T9 q6 j
- <?php endif; ?>
复制代码 纯首页(不包含除首页外的各种日志列表页及其翻页)- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>4 R3 R. `9 Z/ r: e; e
- 内容代码;7 J! h5 V: C9 G7 q5 a7 v% ?3 V
- <?php endif; ?>
复制代码 ( T2 b U* ^8 y/ G3 d9 O, d
如果能够灵活使用上面的判断,就会实现一些你意想不到的功能了。举个例子,如果你只想在日志首页显示一些内容,而在其它非首页页面(包括各种日志列表页)显示另一些内容,则只需在纯首页判断的基础上加一个 else 分支就可以了:- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>' d6 c8 j. e& ~2 |9 T
- 内容代码1;1 j" B% y& Y" J2 N3 U
- <?php else: ?>
' d% I7 r8 X$ I/ ]' _ - 内容代码2;
5 S' M& I: P3 d. P$ c - <?php endif; ?>
复制代码 不过要注意的是,有些IIS平台下这个纯首页的判断会失效(感谢网友 名盟世家 的提醒)。Emlog 从 5.2.0 版本开始,在默认模板中引入了一个判断纯首页的函数: - <?php$ c7 e% V5 N3 M# ?- e6 J- N/ X }
- //blog-tool:判断是否是纯首页
_' G0 c5 J7 ]4 Q5 l+ F0 M2 B( Z - function blog_tool_ishome(){/ s; T! q1 N0 y% A% t$ \; |
- if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){
# e J- Q h6 n( Q+ s' b) N - return true;1 I V* N! ]' M3 y* j3 c" ~3 N: o
- } else {
. b: a3 D, Z/ N" h! B. J, D( F% c - return FALSE;5 y) K' y/ p( s1 J$ A
- }
) J6 Z1 [% d2 N) g6 g- [ - }
! h# f# m: C. g/ f5 o - ?>
复制代码 要判断纯首页的时候,只需要使用该函数就可以了:- <?php if(blog_tool_ishome()): ?>
; Q% g* k7 t. b! q' H d9 M1 C$ [; J - 内容代码;6 r4 B/ l+ ^' q% L' i
- <?php endif; ?>
复制代码 怎么,够简单吧,自己找个模板试一试吧。什么,不知道在哪里使用?一般用在 log_list.php 以及 module.php 中的侧边栏代码,当然,header.php 据说也可以用,side.php 据说也行。。。总之,可以用在你想用的地方。
, X9 P# W5 m9 i5 k; s |