Emlog 用得久了,emer 们就难免会折腾一下自己的模板,谁让 Emlog 这么简单实用呢?除了折腾外观及各种特效,当然还有实用的功能,日志列表页的判断应该就属于此类。我们可以根据日志列表页面的各种类型(位置?),实现不同的功能。下面是我在论坛里面收集的一些常见而实用的日志列表页面的判断,基本上可以满足大多数 EMER 的需要了吧。如果你还什么更好的代码,也不防拿出来分享一下。 好了,闲话到此,下面才是正题。 日志列表页 (包括各种情况下的日志列表页及其翻页,如:首页、分类、TAG.html" target="_blank" class="relatedlink">标签、归档、作者……等等)
4 d4 x. @) E: a; B- <?php if($curpage == CURPAGE_HOME): ?>
- X( \" e. }1 `$ k# R; W* X - 内容代码;; q& C* z n- I+ v5 y/ C
- <?php endif; ?>
复制代码 Emlog 默认的“首页”链接即属于此种情况。要注意的是,EM5.0 由于取消了 $curpage 变量,此判断不再有效。关于 EM5.0 日志列表页的判断,奇遇 大神给出的代码如下,有兴趣的 emer 不妨试一下:- - E8 M5 ]4 W3 V: u7 I
- <?php if (!isset($logid) && empty($tws)): ?>
: V7 G! y, a/ Y. \. X) T - 内容代码;
' [7 ?2 _1 `# ?' N6 P0 u5 q0 i4 w - <?php endif; ?>
复制代码 下面再列出一些常见的日志列表页的判断。 首页日志列表及其翻页- <?php if($pageurl == Url::logPage()): ?>4 D3 T- `' v: T% X8 t# L
- 内容代码;
5 k/ n& z8 s+ N% u9 S- e$ Q% F - <?php endif; ?>
复制代码分类日志列表及其翻页- <?php if(isset($sortName)): ?>
) h5 I. {/ ]1 C" [9 E/ h5 d* w - 内容代码;
& L3 { D, A4 ? e6 o- \! J - <?php endif; ?>
复制代码 标签日志列表及其翻页- <?php if(isset($tag)): ?>
' `. Y+ ~2 D/ T/ G6 n8 `& B - 内容代码;0 \3 E h) r4 x
- <?php endif; ?>
复制代码 纯首页(不包含除首页外的各种日志列表页及其翻页)- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>
\/ E8 D& y! m! @1 Y) M4 ~$ O: h - 内容代码;
% F/ n& Y' d, m+ F - <?php endif; ?>
复制代码 $ Q# C, ]4 L5 E9 `8 \4 a
如果能够灵活使用上面的判断,就会实现一些你意想不到的功能了。举个例子,如果你只想在日志首页显示一些内容,而在其它非首页页面(包括各种日志列表页)显示另一些内容,则只需在纯首页判断的基础上加一个 else 分支就可以了:- <?php if("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == BLOG_URL): ?>9 k; R$ L' O' k5 T* @2 b
- 内容代码1;1 V* v0 z- h; Z
- <?php else: ?>" s4 _: C" U' K R6 m# A' }; k) W
- 内容代码2;
; Y9 S$ V$ q8 D q! y- r - <?php endif; ?>
复制代码 不过要注意的是,有些IIS平台下这个纯首页的判断会失效(感谢网友 名盟世家 的提醒)。Emlog 从 5.2.0 版本开始,在默认模板中引入了一个判断纯首页的函数: - <?php
8 d l1 f6 C+ z) w! V+ \ - //blog-tool:判断是否是纯首页
& g/ O; v4 m$ m: s( V/ t! Q* @ - function blog_tool_ishome(){
" N" b, w' T% O$ D- ]- N+ S - if (BLOG_URL . trim(Dispatcher::setPath(), '/') == BLOG_URL){
* r L3 W8 s8 J3 Q. _& s& J% r) k - return true; Q; L* G5 }0 S5 r) B
- } else {5 M1 h9 ?+ x4 P" F6 N7 X4 m
- return FALSE;
6 `5 y# V8 {; s0 W - }4 Z) v' k% u7 Y) n2 x' z
- }$ G0 |2 ^8 w5 o
- ?>
复制代码 要判断纯首页的时候,只需要使用该函数就可以了:- <?php if(blog_tool_ishome()): ?>: q5 f7 _7 i0 V L" A* s6 K
- 内容代码;- [& K' w1 h- M( `6 y( W
- <?php endif; ?>
复制代码 怎么,够简单吧,自己找个模板试一试吧。什么,不知道在哪里使用?一般用在 log_list.php 以及 module.php 中的侧边栏代码,当然,header.php 据说也可以用,side.php 据说也行。。。总之,可以用在你想用的地方。
8 v( z; Q: `' T* R) B* {) e/ x |