澳门新葡萄京官网首页帝国CMS列表页置顶信息加图标的教程

帝国CMS完结列表页消息列表置顶音信足够置顶小Logo的学科。

王国CMS,假设小说包涵图表,或许随笔是置顶的,须求在列表的题头显示相应的标识,灵动标签能够兑现,这里记录一些,估算会有为数不菲人会用到。

在根目录的 index.php 文件中,有三个函数很要紧的函数 ViewIndex(State of Qatar;
它的功能是显得前台的页面.该函数坐落于c_system_event.php
事件有关函数文件中.首页,寻觅页和feed页面都以调用的那一个展现函数.

如58同城、前程无忧等都有那般的魔法:

1、我们以3天内的发表为基准输出带 new Logo的音讯

其一函数首先设置全局变量 $zbp 和 $action, $zbp 对于 zblogphp
来讲是二个超重视的全局对象,基本上系统的大部数额都可以因而那一个目的来获取.

1、在列表模板内容 勾选“使用程序代码”

[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片}]?$newimg=""; if(time()-$bqr[truetime]=3*24*3600) {$newimg="img src='New图片地址'"; }?lia href="?=$bqsr[titleurl]?" title="?=$bqr[title]?" target="_blank"?=esub($bqr[title],36)?/a?=$newimg?/li[/e:loop] 

例如:$zbp->option[‘ZC_BLOG_NAME’] 获得的是网址博客的称呼

2、在内容模板(list.var) (*State of Qatar里面增多以下代码:

2、在列表模板中贯彻,推荐的音讯带推荐Logo。

然后 foreach 循环输出插件函数,(只输出坐落于Filter_Plugin_ViewIndex_Begin 接口的,看岗位应该是模板早先的地点,index
和 view 的进口地方是例外的,也正是说 index
地点的插件函数比view地方的插件函数先推行State of Qatar.

$r[title]=esub($r[title],27);if($r[istop]==1){$istop='em title="置顶信息,效果更好"/em';}else{$istop='';}$listtemp='lia href="[!---titleurl--]" target="_blank"[!---oldtitle--]/aa href="#" target="_blank"'.$istop.'/a/li';

$istop='em title="置顶信息,效果更好"/em';

第一在列表模板上勾选使用程序代码,大家以“推荐”为标准输出带 推
Logo的消息:

插件注册的时候是把办法名赋值给插件名的,所以 return $fpname(卡塔尔会直接实践插件的函数

这段代码意思就是 假若是置顶音信,就能够输出这段内容。
小编这里是出口一个em然后在CSS里用样式来浮现“顶”Logo。

$newimg="; if($r[isgood]==1) {$newimg='img src='推荐图片地址'';}$listtemp='lia href="[!---titleurl--]" title="[!---oldtitle--]"[!---title--]/a'.$newimg.'/li'; 

在插件挂载的时候是把暂停情势赋值给试行函数名的,所以 $fpname =>
&$fpsignal 取得插件的中断方式

也能够根据自个儿的急需纠正,如改成:

注:字段值数组变量为$r,对应的字段变量为$r[字段名],如:标题字段变量正是$r[title]。其余定义的变量为.$newimg.
。将最后模板内容赋给$listtemp变量。

唯独这里不管是如何中断格局都会设置成无.保障页面能从心所欲实行下去.

$istop='置顶信息';
if($bqr[isgood]==1) //推荐 if($r[firsttitle]==1) //头条 if($r[istop]==1) //置顶 if($bqr[isgood]==1$bqr[firsttitle]==1$bqr[istop]==1) //置顶-头条-推荐 

下一场 $zbp->template->hasTemplate(‘404’卡塔尔(قطر‎ 实施模板类对象的
hasTemplate 方法,获得当前利用模版的404.php内容?
路线:zb_userscachecompileddefault404.php

最后交给实际利用中的代码:

假若宗旨有其一404文本,则在该文件挂载过滤接口 函数
Include_ShowError404,这几个是怎么挂载的?是在zblogphp.php文件初阶化是调用的
ShowError 函数,里面会有 foreach
输出插件函数.,这里的效果是判断借使有不当页则将插件挂载到此地,首要做特色化错误页面包车型大巴.默许错误也是Tencent的公共受益404.

[e:loop={'selfinfo',20,0,0}]?$newimg="";$good="";if(!empty($bqr[titlepic])){ $newimg="img src='_s.gif' /";}if($bqr[istop]==1){ $good = "img src='_1.gif' /";}? tr  td  h1a href="?=$bqsr[titleurl]?" target="_blank"?=sub($bqr[title],0,30,false)?/a nbsp;?=$newimg? nbsp;?=$good?/h1 p  ?=sub($bqr[smalltext],0,80,false)?[a title="阅读全文" href="?=$bqsr[titleurl]?" target="_blank"详细内容/a] /p /td td?=$bqr[myarea]?/td td?=date('Y-m-d H:i:s', $bqr[newstime])?/td /tr[/e:loop]

接下来 switch 剖断 $action 的值是或不是为 feed 和 search
,那多个操作有相应的输入文件,暗中认可入口 index 是未曾这几个参数的,所以会推行default 部分的代码块.

该代码首先推断 须求的路线 和 保存在cookie的不二等秘书籍是还是不是一致,假诺同样则调用
ViewList 函数 且全数参数为 null 以暗许格局展示首页列表页面

一经不等同的话则判断

伪静态方式是或不是为 ACTIVE 或是还是不是 GET rewrite 且 GET 了 id 也许 alias

设固然的话表达诉求的是小说内容页,调用 ViewPost 展现页面

假若亦非呼吁的篇章内容页的话,则调用 ViewList 以
对应参数诉求结果列表,那满含page,cate,auth,date,tags,详细完成进程这里略过不写.

一经还不是的话,最终会调用 ViewAuto 函数来依照 伪静态准则展现页面

外加内容: ViewList函数深入分析

ViewList函数是显得列表页面包车型地铁函数,私下认可 ViewList(null, null, null, null,
null卡塔尔国 输出首页列表内容,伪静态参数暗许为false

函数首页 global 全局对象 $zbp

然后 foreach 输出 挂在列表最早的插件函数,设定类型为 index

下一场剖断第2-5个参数,依据对应参数来设置类型(非nullState of Qatar,后面一个覆盖前面二个.

概念4个变量值为 null
,(抽离,笔者,日期,标签卡塔尔,定义w数组,看起来是原本相配文章是否置顶的.

$w = array();

$w[] = array(‘=’, ‘log_IsTop’, 0);

$w[] = array(‘=’, ‘log_Status’, 0);

获取参数1的从头到尾的经过,取得分页值,设置随笔列表结果数组和文章置顶列表结果数组

施行 switch ,依照 类型差异推行不一的代码,暗中同意 index 施行第二个 case

首先以伪静态正则 ‘ZC_INDEX_REGEX’ => ‘{%host%}?page={%page%}’,
为参数实例化 Pagebar分页类

将$zbp 的缓存对象的篇章总的数量设置为分页类 count 的值,文章总量是通过
CountNormalArticleNums 函数获取的

然后拿走首页(列表卡塔尔国默许模板(index卡塔尔(قطر‎,内容(页面卡塔尔(قطر‎的默许是(single卡塔尔国

一旦页面是率先个,则 设置 $zbp->title 为 网址副标题,否则$zbp->title 为 第xx页

相当于说,假若不是第一页的列表是不会显得网址副题指标!

之后 break 来到

$pagebar->PageCount = $zbp->displaycount;

$pagebar->PageNow = $page;

$pagebar->PageBarCount = $zbp->pagebarcount;

$pagebar->UrlRule->Rules[‘{%page%}’] = $page;

依次安装每页展现数量,当前页,一共有稍微页,UWranglerL法则类 Rules {%page%}
的值设置为 当前页数

输出 Filter_Plugin_ViewList_Core
的插件函数,看参数应该是在输出内容前实行的,官方WIKI也远非写出这一个接口的注明

接下去判定假使最上部列表关闭(ZC_LISTONTOP_TUHighlanderNOFF卡塔尔(قطر‎是还是不是等于false,也等于要是张开了置顶效率的话则得到全体置顶小说,还说了事情发生前从缓存的数组里获取.(不过小编还未有见到相应的落到实处代码,反正
$zbp->GetTopArticle(State of Qatar 之后就取获得了置顶的数码了卡塔尔国,然后依次 foreach
获得全局置顶的,首页置顶的和分类置顶的稿子类型的数组待用

循环输出 Filter_Plugin_LargeData_Aritcle
的插件函数,看景况是在查询数据库以前(获取数据在此以前State of Qatar的插件接口,官方WIKI依旧未有那个接口的表明.

接下来正是推行 $zbp->GetArticleList 函数查询获得文章列表了.

获得核心标签中的网址标题,中的小说

比如总页数等于0,则将分页类对象删除?(不知情,反正他是把对象 pagebar
设置为了 null卡塔尔国

一长串的 SetTags
设置宗旨标签和相应的值,有哪些用?不精通,反正在这里个函数内没见到她用那个!

从此未来选取 hasTemplate 判定相应的大旨文件是还是不是留存,假使存在则
SetTemplate设置宗旨类中的 entryPage
的值为相应的主旨文件的名目,假诺不设有则设置为 index (若是 index
也空中楼阁吗?哈哈State of Qatar

这里有轮回输出 Filter_Plugin_ViewList_Template
地点接口的插件函数,官方WIKI终于有认证了,是 管理列表页模板接口
,然后呢?作者还是不曾领悟能在那间做怎么着呀,但是可以领悟的是以此地点一定在展现模板文件以前的,因为后边$zbp->template->Display(卡塔尔国; 正是展现模板页面包车型客车函数.

发表评论

电子邮件地址不会被公开。 必填项已用*标注