个人工具
名字空间
变换
操作

CMSware附加发布CMS ExtraPublish

来自站长百科
跳转到: 导航, 搜索

导航:返回上一页

附加发布可实现同一结点内容的不同列表形式调用,例如实现同一结点的不同首页表现.附加发布的管理在“发布管理”-“附加发布”

本标签对应的系统调用函数为CMS_ExtraPublish()。

属性 必需 默认值 描述

<CMS action="ExtraPublish" return="ExtraInfo" NodeID="" Tpl="" Cache="" returnKey="" />

NodeID "" 所属结点ID号
Tpl -

指定调用的子模版

  • Tpl="list_style_1.html": 调用子模版“list_style_1.html”
Cache -

模版中的CMS调用通过使用Cache,可以大幅提升批量更新的效率. 该标签只有门户版可用

  • Cache="1": 特别注意,只有模版公共调用的部分使用Cache 才有效果,比如内容页头部的导航NODELIST调用,或者top10之类的调用,结点首页的page-10分页调用最好不要用Cache, 因为不会提升任何效率.
returnKey -

可以定义内容列表记录返回那些字段,一般列表只需要获得Title即可,而无需返回Content 等字段,使用此属性,可以一定程度上提高更新效能。 该标签只有门户版可用

  • returnKey="Title,Keywords":返回标题和关键词字段


键名 描述

返回数组($ExtraInfo)说明

PublishID 附加发布ID
PublishName 发布名称
NodeID 所属结点ID号
PublishFileName 发布文件名
Intro 附加注释
URL 附加发布的发布URL

可调用设置的属性变量,变量名为$PublishInfo ,结构如下

$PublishInfo = array (
'PublishID' => '2',
'NodeID' => '2',
'PublishName' => 'test',
'SelfPSN' => NULL,
'SelfPSNURL' => NULL,
'PublishFileName' => 'input_test.html',
'Tpl' => '/input/test1.html',
'Intro' => 'haha',
'CreationUserID' => '1',
'LastModifiedUserID' => '1',
'CreationDate' => '1127447504',
'ModifiedDate' => '1154852437',
)

说明:

$PublishInfo.这个变量数组是用在附加发布的内容页里调用当前附加发布设置里的属性值的。有了调用当前属性值,就可以多个附加发布页统一模版,用备注字段设定不同的参数,然后模版里根据这个值来做不同的事情。比如,实现不同排序方式的多个静态列表入口

例1:一般调用:

<CMS action="ExtraPublish" return="ExtraInfo" NodeID="2" />  <ul>
<loop name="ExtraInfo" var="var" key="key">
<li><A HREF=" [$var.URL] "> [$var.PublishName] </A></li>
</loop>
</ul>

例2:调用某结点的前200条信息:

按需要的条数和每页需要的条数拆分,比如,一页50条,一共应该生成4页,

  • index.html
  • index_1.html
  • index_2.html
  • index_3.html

那么,我们改动首页模版,在首页里写LIST调用的num参数只调用前50条,发布成index.html

然后,增加三个附加发布页,用来分别调用51-100,101-150,151-200这样的,分别发布成index_1.html。。。。

然后分页的链接在模版里直接写index_1.html这样。

(这种方法也可以按日期写,然后首页上写个日历变成按日历归档)

小技巧:为了三个附加发布页只套用一个模版,就需要每个附加发布设置时把需要调用的条数和区段设置在附加发布的设置属性里,然后在附加发布的模版里,可以用$PublishInfo.*这样的变量来直接引用当前附加发布的设置的属性值,比如备注$PublishInfo.Intro,可以用来当作查询条件,如上面所说的三个附加发布调用不同区段的内容条数,就要更改num参数,就可以利用备注字段放置好num字段需要的值,然后在模版里引用来当做参数: 附加发布字段里的备注填51-100,然后模版里写

<CMS action="LIST" return="List" NodeID="all-2" num="{$PublishInfo.Intro}" />



参考来源

留言