澳门新葡亰平台游戏网站帝国CMS列表页置顶信息加图标的教程

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

如果也不是请求的文章内容页的话,则调用 ViewList 以
对应参数请求结果列表,这包括page,cate,auth,date,tags,详细实现过程这里略过不写.

帝国CMS实现列表页信息列表置顶信息加上置顶小图标的教程。

[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]

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

如赶集网、58同城等都有这样的效果:

最后给出实际使用中的代码:

然后 $zbp->template->hasTemplate(‘404’) 执行模板类对象的
hasTemplate 方法,得到当前使用模版的404.php内容?
路径:zb_userscachecompileddefault404.php

也可以根据自己的需要修改,如改成:

帝国CMS,如果文章包含图片,或者文章是置顶的,需要在列表的题头显示相应的标识,灵动标签可以实现,这里记录一些,估计会有不少人会用到。

如果是的话说明请求的是文章内容页,调用 ViewPost 显示页面

2、在内容模板(list.var)澳门新葡亰平台游戏网站 , (*)里面添加以下代码:

首先在列表模板上勾选使用程序代码,我们以“推荐”为条件输出带 推
图标的信息:

在根目录的 index.php 文件中,有一个函数很重要的函数 ViewIndex();
它的作用是显示前台的页面.该函数位于c_system_event.php
事件相关函数文件中.首页,搜索页和feed页面都是调用的这个显示函数.

这段代码意思就是 如果是置顶信息,就会输出这段内容。
我这里是输出一个em然后在CSS里用样式来显示“顶”图标。

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

这个函数首先设置全局变量 $zbp 和 $action, $zbp 对于 zblogphp
来说是一个很重要的全局对象,基本上系统的大部分数据都可以通过这个对象来获取.

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

获取参数1的内容,得到分页值,设置文章列表结果数组和文章置顶列表结果数组

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

2、在列表模板中实现,推荐的信息带推荐图标。

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

[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] 

之后 break 来到

1、我们以3天内的发布为条件输出带 new 图标的信息

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

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

$w = array();

函数首页 global 全局对象 $zbp

执行 switch ,根据 类型不同执行不同的代码,默认 index 执行第一个 case

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

一长串的 SetTags
设置主题标签和对应的值,有什么用?不知道,反正在这个函数内没看到他用这个!

循环输出 Filter_Plugin_LargeData_Aritcle
的插件函数,看情况是在查询数据库之前(获取数据之前)的插件接口,官方WIKI依然没有这个接口的说明.

这里有循环输出 Filter_Plugin_ViewList_Template
位置接口的插件函数,官方WIKI终于有说明了,是 处理列表页模板接口
,然后呢?我还是没有理解能在这里做什么啊,不过可以知道的是这个位置肯定在显示模板文件之前的,因为后面
$zbp->template->Display(); 就是显示模板页面的函数.

获取主题标签中的网站标题,中的文章

定义4个变量值为 null
,(分离,作者,日期,标签),定义w数组,看起来是原来匹配文章是否置顶的.

插件注册的时候是把方法名赋值给插件名的,所以 return $fpname()
会直接执行插件的函数

附加内容: ViewList函数分析

然后就是执行 $zbp->GetArticleList 函数查询获得文章列表了.

伪静态模式是否为 ACTIVE 或是否 GET rewrite 且 GET 了 id 或者 alias

该代码首先判断 请求的路径 和 保存在cookie的路径是否相同,如果相同则调用
ViewList 函数 且所有参数为 null 以默认方式显示首页列表页面

依次设置每页显示数量,当前页,一共有多少页,URL规则类 Rules {%page%}
的值设置为 当前页数

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

如果总页数等于0,则将分页类对象删除?(不知道,反正他是把对象 pagebar
设置为了 null)

如果还不是的话,最后会调用 ViewAuto 函数来根据 伪静态规则显示页面

在插件挂载的时候是把中断方式赋值给执行函数名的,所以 $fpname =>
&$fpsignal 获得插件的中断方式

接下来判断如果顶部列表关闭(ZC_LISTONTOP_TURNOFF)是否等于false,也就是如果打开了置顶功能的话则获取全部置顶文章,还说了优先从缓存的数组里获取.(不过我还没看到对应的实现代码,反正
$zbp->GetTopArticle() 之后就获取到了置顶的数据了),然后依次 foreach
得到全局置顶的,首页置顶的和分类置顶的文章类型的数组待用

不过这里不管是什么中断方式都会设置成无.保证页面能顺利执行下去.

ViewList函数是显示列表页面的函数,默认 ViewList(null, null, null, null,
null) 输出首页列表内容,伪静态参数默认为false

$pagebar->PageNow = $page;

之后使用 hasTemplate 判断对应的主题文件是否存在,如果存在则
SetTemplate设置主题类中的 entryPage
的值为对应的主题文件的名称,如果不存在则设置为 index (如果 index
也不存在呢?哈哈)

然后 foreach 循环输出插件函数,(只输出位于
Filter_Plugin_ViewIndex_Begin 接口的,看位置应该是模板之前的位置,index
和 view 的入口位置是不同的,也就是说 index
位置的插件函数比view位置的插件函数先执行).

如果不一样的话则判断

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

然后判断第2-5个参数,根据对应参数来设置类型(非null),后者覆盖前者.

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

输出 Filter_Plugin_ViewList_Core
的插件函数,看参数应该是在输出内容前执行的,官方WIKI也没有写出这个接口的说明

如果主题有这个404文件,则在该文件挂载过滤接口 函数
Include_ShowError404,这个是怎么挂载的?是在zblogphp.php文件初始化是调用的
ShowError 函数,里面会有 foreach
输出插件函数.,这里的作用是判断如果有错误页则将插件挂载到这里,主要做特色化错误页面的.默认错误也是腾讯的公益404.

也就是说,如果不是第一页的列表是不会显示网站副标题的!

然后 switch 判断 $action 的值是否为 feed 和 search
,这两个操作有对应的入口文件,默认入口 index 是没有这个参数的,所以会执行
default 部分的代码块.

如果页面是第一个,则 设置 $zbp->title 为 网站副标题,否则
$zbp->title 为 第xx页

然后获得首页(列表)默认模板(index),内容(页面)的默认是(single)

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

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图