SiteFactoryCMS:添加数据源标签示例
导航: 上一页 | 首页 | DedeCMS | 帝国CMS | Drupal | PHPCMS | PHP168 | Xoops | Joomla | SupeSite
考虑到在实际运用中对各模型内容页面显示的自由性与独特性,系统提供了特有的“数据源”解析方式,在内容页模板中可以直接按既定方式调用相关数据库中存在的任意内容字段,极大地方便了设计与调用。
内容页数据源标签示例
下面以系统默认提供的“文章内容页模板.html”模板文件为例说明内容页数据源标签的使用方法。
以记事本打开/Template/雅蓝模板方案/内容页模板/文章内容页模板.html文件,可以看到以下内容:
1.在模板内容顶部有“{PE.DataSource id="cone" datasource="文章_内容页" itemid="@Request_id" xslt="true" /}”的数据源标签标识。其中datasource="文章_内容页"根据不同模型名而定义到各内容页中,如datasource="图片_内容页"、datasource="软件_内容页"等。
2.在显示内容的具体信息时,其标签格式如下:
标题:{PE.Field id="cone" fieldname="Title" /}
作者:{PE.Field id="cone" fieldname="Author" /}
来源:{PE.Field id="cone" fieldname="CopyFrom" /}
发布时间:{PE.Field id="cone" fieldname="UpdateTime" /}
其中{PE.Field id="cone" fieldname="***" /}为数据源标签调用格式,fieldname="***"中的***为调用各模型内容数据表中的相应字段名,如Title(标题)、Author(作者)、CopyFrom(来源)、UpdateTime(发布时间)等内容字段。只要数据库中内容数据表中所存在的字段,在数据源标签标识的内容页模板中都可用上述方式进行调用,而不需要在标签管理中一一单独定义,实现了按需调用的模板设计功能。
子栏目列表标签示例
在模板中调用相关具有数据源标签功能。下面以系统提供的“文章子栏目列表.config”标签为例说明 列表数据源标签的使用方法:
1.将模板方案“标签库”目录中的“文章子栏目列表.config”复制并重命名为“文章子栏目列表(博 客).config”。
2.修改网站首页或相关页面的模板文件,在所需要的位置插入标签的调用代码,如:
{PE.Label id="文章子栏目列表(博客)" tablename="PE_U_Article" parentid="@Request_id" shownum="30" titlelen="60" showdatetype="mm-dd" opentype="_blank" hits="0" elitelevel="0" span="" class="" /}
3.以记事本打开“文章子栏目列表(博客).config”文件,找到:
{PE.Repeat id="InfoList" loop="1000"} …… {/PE.Repeat}
4.在“{PE.Repeat}”和“{/PE.Repeat}”范围内填写所需要显示的文章标题({PE.field id="InfoList" fieldname="InfoPath" /})、作者({PE.field id="InfoList" fieldname="Author" /})、日期({PE.field id="InfoList" fieldname="UpdateTime" /})等数据源标签。如:
<ul> {PE.Repeat id="InfoList" loop="1000"} <li>·{PE.field id="InfoList" fieldname="InfoPath" /} [ 作者:{PE.field id="InfoList" fieldname="Author" /} 日期:{PE.field id="InfoList" fieldname="UpdateTime" /} ]<br /> {PE.field id="InfoList" fieldname="Intro" /}</li> {/PE.Repeat} </ul>
5.保存标签文件后,刷新前台,即可看到所显示的效果。
在“文章子栏目列表(博客).config”标签的“{PE.Repeat}”和“{/PE.Repeat}”范围内,可以根据需要进行布局、定位和调用相应的数据源标签,系统将自动循环显示指定的内容及其格式。同时,在模板中 调用的“{PE.Label id=“文章子栏目列表(博客)”……/}”标签也提供了相应的参数(如字数、打开方 式、日期格式等)控制相关循环显示的结果。
查看前台网页源文件,可以看到生成的代码为:
<div class="childclass_title"><span class="childclass_pic"></span>产品报道</div> <div class="childclass_content"> <ul> <li>·<a href="/Blog/kuaibao/5516.html">SiteFactory™[[CMS]] RC版改进功能点介绍</a> <span class="gray_a">[ 作者:bbsh 日期: 2008-01-30 ]</span><br/>SiteFactory™nbsp;CMS RC版在修复了Beta版本发现的所有[[BUG]]的同时,在人性化和易用性方面相比 beta版也做出了不小的改进,现在就给大家一一道来。</li> <li>·<a href="/Blog/kuaibao/2854.html">动易2007的开发周期实在是太长了!</a> <span class="gray_a">[ 作者:webboy 日期: 2007-12-13 ]</span><br/> 动易2007的开发周期实在是太长了!……</li> ……
从上述网页源代码中可以看到,系统循环列出了{PE.Repeat id="InfoList" loop="1000"}……{/PE.Repeat}里面的信息,达到了我们所需要的效果。