资源描述
(word完整版)学学PHPCMS的模板制作
心之所向,所向披靡
摘 要
PHPcms 是中国领先的网站内容管理系统,同时也是一个开源的PHP开发框架。Phpcms由内容模型、会员、问吧、专题、财务、订单、广告、邮件订阅、 短消息、自定义表单、全站搜索等20多个功能模块组成,内置新闻、图片、下载、信息、产品5大内容模型。Phpcms 采用模块化开发,支持自定义内容模型和会员模型,并且可以自定义字段。
PHPCMS的技术优势主要体现在系统的稳定性、扩展性、安全性、全面性,在负载能力和发布效率上具有突出的优势。PHPCMS的会员系统非常强大,特别适合大型门户、行业网站的运营.
PHPCMS采用国内领先模板技术,全站采用DIV+css设计。使用者可以通过修改模板结合二次开发,做出适合自己需求的网站。
关键词 : PHPCMS PHPCMS模板制作 PHPCMS二次开次 GET语法使用
目 录
第一章:前言。..。。.。。.。。..。..。..。.。。.。。。。......。.。.。。1
第二章:PHPCMS模板结构及其位置。。...。..。。。。.。。.。.。.。....。...1
第三章:PHPCMS模板制作及相关知识。。。。。。...。.。。。。....。。.。...。3
3.1 PHPCMS的模板机制。..。。。..。.。。.。.。。。。.。。.。。...。。。3
3。2 PHPCMS模板常用变量含义。。。。。。..。。。.。。.。.。。。....。4
3.3 phpcms模板语法规则。。.....。。。。。。。.。。。.。..。。.。.。。5
3。4 PHPCMS get语法规则..。。......。..。。..。。...。。。.。。。6
3。5 模板解析、制作思路及一些常用的例子..。.。.。。.。.。.。8
第四章:总结.。....。...。。。。。。。..。。。...。。..。.。..。。.。.。.。。。.。.。.13
第五章: 参考文献..。。.。.。。...。.。.。。。...。。.。。。.。...。。。。...。。..。。13
一、 前言
所谓PHPCMS网站模板,就是生成网页的“模子”,主要包括固定的图片、表格、颜色等美术风格,以及要从数据库输出的数据标签,还有简单的phpcms定义的语法(也可以是很复杂的php语法)。PHPCMS每个网站的每个栏目,都可以设置不同的模板,最终栏目的网页都是一个“模子”里出来的,应此这个栏目的网页外观、风格是一致的。
PHPCMS的模板按照模块功能,分别放在这些模块名字命名的目录下面,而其中最重要的内容栏目模板,如新闻、产品、信息、图片、下载、视频以及首页的模板则放到phpcms目录下面。
phpcms目录,header。html,footer。html是网站所有网页的页头和页尾模板,index.html则是网站首页模板.文件category.html和list。html 是新闻模型的栏目首页和栏目列表页,由于phpcms认为新闻模型是最重要的吧,因此新闻模型的模板默认不要带后缀,其他模型的栏目首页和列表页则要带上后缀,如category—info。html,list-info。html,这是信息栏目模型的栏目首页、栏目列表页,其他类似。至于一些扩充模型,如黄页等,其模板则在\yp\目录下面。
模板生成网页的过程。phpcms的网页允许生成静态网页和动态网页,不管是静态还是动态,风格都由模板限定。首先,网站管理员要把相应模型的模板放到模板目录下面,并在管理后台设定模板方案,确定后,phpcms将把模板编译为相应的php文件,保存到\data\cache_template下面。编译过程实际上就几条语句,把模板中的phpcms语句转换为php语句,把数据标签翻译为sql数据库操作语句,这就成了标准的php文件,服务器可以直接执行了.对于动态网页来说,工作已经完成了。静态网页则还要做一次“置换”,执行php模板文件,按照php语法执行sql语句,把sql语句输出的结果再和模板结构部门组合成网页文件(html),并写到服务器空间里面。
这就是pgpcms系统的模板机制,灵活运用这个机制,可以设定不同子栏目灵活多变的模板。phper也要注意的是,直接改\data\cache_template\下面的php模板文件是没用的,必须改\templates\下面的静态模板。
二、 PHPCMS模板结构及其位置
首先从官网把phpcms2008最新版本下载下来,并安装好.安装好之后在网站管理后台里的“网站配置"--“基本信息”——“生成文件扩展名”那设置生成 html 扩展名,然后更新首页和缓存。网站程序就会自动生成HTML页面。打开网站下的./templates/default/phpcms/ 目录就可以看到.templates/default/是官方默认模板风格目录.我截图给大家看
大家也可以登录网站后台管理-,在“模板风格”-—“管理模板”菜单里找到这些模板名称。如下图:
完整的首页模板就是由里面的header。Html(头部)、index。Html(首页)、footer.Html(尾部) 三个模板文件组成的,如果想修改首页就是修改这几个模板。下面我把常用的模板名称列出来,让大家了解。
模板目录里,以category 开头的都是栏目页
如:
category。html 文章栏目页
category_down.html 下载栏目页
category_info.html 信息栏目页
category_picture.html 图片信息页
category_product.html 产品栏目页
category_video.html 视频栏目页
以list 开头的都是列表页
如:
list。html 文章列表页
list_down。html 下载列表页
list_picture.html 图片列表页
list_product。html 产品列表页
list_video。html 视频列表页
以show开头的都是内容页
如:
show。html 文章内容页
show_down.html 下载内容页
show_info.html 信息内容页
show_picture。html 图片内容页
show_product。html 产品内容页
show_video。html 视频内容页
上面就是PHPCMS的基本模板名称,如果你想要制作或修改模板,只要找到相应的模板修改就行了。其它以TAG开头的模板都一些标签模板,在后面我再为大家详细解释。官方PHPCM默认的每个频道基本是由栏目页、列表页、内容页 这三个页面组成,头部和尾部都是通用的。所以我们做模板或是仿模板的时候一般都是按:
1、 网站首页
2、 文章—文章栏目页—文章列表页—文章内容页
3、 图片—图片栏目页—图片列表页—图片内容页
4、 下载频道同上
5、 信息频道同上
6、 其他单一页面
这个顺序来做。
三、PHPCMS模板制作
3。1 PHPCMS的模板机制
所谓网站模板,就是生成网页的“模子",主要包括固定的图片、表格、颜色等美术风格,以及要从数据库输出的数据标签,还有简单的phpcms定义的语法(也可以是很复杂的php语法).PHPCMS每个网站的每个栏目,都可以设置不同的模板,最终栏目的网页都是一个“模子”里出来的,应此这个栏目的网页外观、风格是一致的。
PHPCMS的模板按照模块功能,分别放在这些模块名字命名的目录下面,而其中最重要的内容栏目模板,如新闻、产品、信息、图片、下载、视频以及首页的模板则放到phpcms目录下面。
phpcms目录,header。html,footer.html是网站所有网页的页头和页尾模板,index。html则是网站首页模板。文件category.html和list。html 是新闻模型的栏目首页和栏目列表页,由于phpcms认为新闻模型是最重要的吧,因此新闻模型的模板默认不要带后缀,其他模型的栏目首页和列表页则要带上后缀,如category-info。html,list—info.html,这是信息栏目模型的栏目首页、栏目列表页,其他类似。至于一些扩充模型,如黄页等,其模板则在\yp\目录下面。
下面说说模板生成网页的过程。
phpcms的网页允许生成静态网页和动态网页,不管是静态还是动态,风格都由模板限定。首先,网站管理员要把相应模型的模板放到模板目录下面,并在管理后台设定模板方案,确定后,phpcms将把模板编译为相应的php文件,保存到\data\cache_template下面.编译过程实际上就几条语句,把模板中的phpcms语句转换为php语句,把数据标签翻译为sql数据库操作语句,这就成了标准的php文件,服务器可以直接执行了.对于动态网页来说,工作已经完成了。静态网页则还要做一次“置换”,执行php模板文件,按照php语法执行sql语句,把sql语句输出的结果再和模板结构部门组合成网页文件(html),并写到服务器空间里面。
这就是pgpcms系统的模板机制,灵活运用这个机制,可以设定不同子栏目灵活多变的模板。phper也要注意的是,直接改\data\cache_template\下面的php模板文件是没用的,必须改\templates\下面的静态模板。
3.2 PHPCMS模板常用变量含义
{$head[title]}页面标题,用法:〈title>{$head[title]}-{$PHPCMS[sitename]}〈/title〉
{$PHPCMS[sitename]}网站名称用法:<title〉{$head[title]}—{$PHPCMS[sitename]}</title>
{$head[keywords]}关键字用法:<metaname=”keywords”content=”{$head[keywords]}”>
{$head[description]}网页描用法:<metaname=”description"content="{$head[description]}”>
{$PHPCMS[version]}phpcms版本用法:<metaname="generator"content=”Phpcms[version]}”〉
{$PHPCMS[version]}”〉PHPCMS_PATH}指向网站根目录用法:<scriptlanguage="javascript”src=”{PHPCMS_PATH}include/js/common。js">〈/script>
{$MODULE[ads][linkurl]}广告模块域名路径用法:<SCRIPTLANGUAGE="JavaScript”src=”{$MODULE[ads][linkurl]}ad.php?id=1"></SCRIPT〉
{$MODULE[vote][linkurl]}投票模块域名路径与上面面是相同的,这样可以将模块绑定不同的域名,而路径不会有错误.
{$skindir}指向模版风格文件夹/templates/default/skins/default用法:<linkhref=”{$skindir}/style。css"rel="stylesheet"type="text/css">
{$PHP_SITEURL}网站的域名地址用法:【〈ahref=”#”onClick="window.external。addFavorite('{$PHP_SITEURL}’,'{$PHPCMS[’sitename’]}')">加入收藏</a〉】
3.3 phpcms模板语法规则
1、变量表示
{$name}被解析成<?=$name?>,表示显示变量$name的值,其中的“name”由英文字母、数字和下划线组成首字母必须是英文字母或者下划线.
2、常量表示
{name}被解析成<?=name?>,表示显示常量name的值,其中的“name”由英文字母、数字和下划线组成首字母必须是英文字母或者下划线。
3、条件判断
{if*}*{else}*{else}*{/if}或者{if*}*{/if},其中{if*}中的*就是此判断语句的条件表达式,符合php的表达式。
{if$userid}{$username}{else}{$noname}{/if}
4、循环
{loop$a$b}*{/loop}
或者
{loop$a$b$c}*{/loop},{loop$a$b}*{/loop}
被解析成<?if(is_array($a))foreach($aAS$b){?〉*〈?}?>
而
{loop$a$b$c}*{/loop}则被解析成〈?if(is_array($a))foreach($aAS$b=>$c){?〉*<?}?〉
5。模板包含
{template'modulename’,'filename'}
例如:{template’phpcms','header'}表示包含模板目录,phpcms目录下header.html文件
建议if和loop语法应该写在html注释符之间,这样可以避免在编辑工具中难看,
例如:
这样写if
〈!——{if$a〉$b}-—〉<!--{else}——〉<!--{/if}——〉
这样写loop
<!--{loop$arr$key$val}--〉〈!--{/loop}—-〉
如果不习惯这套语法,也可以直接在模板中书写php代码,例如〈?phpecho’HelloWorld!’;?〉
3。4 PHPCMS get语法规则
Phpcms2008 同时支持 中文标签 和 get代码标签,从而大大的增加了模板制作的速度和效率.中文标签适合美工使用,代码标签适合懂点SQL语句的人使用;需要我们去认真挖掘,Phpcms2008不仅强大,而且易用,下面将会对Phpcms的个性化利器-——万能GET标签进行详细的讲解。
GET标签让Phpcms具备了超强的数据整合能力。 Phpcms2008 的 get标签不仅能调用Phpcms系统的数据,同时也可以调用任何其他Mysql数据库数据,并支持分页功能。 Phpcms2008 在新建模板和修改模板页面增加了 get 标签生成器,get 标签生成器可以帮助您列出指定数据源的数据表和字段,通过填空和选择方式生成可用的 get 标签代码。 Phpcms2008 首次提供了最全面的数据字段,对本系统任何数据表和字段都提供了中文说明,这也会大大降低 get 标签的使用难度。
如果说,我不懂SQL怎么办?没有问题,get 标签还有强大的创建工具 Phpcms2008 在新建模板和修改模板页面增加了 get 标签傻瓜式生成器,get 标签生成器可以帮助您列出指定数据源的数据表和字段,通过填空和选择方式生成可用的 get 标签代码。Phpcms2008 首次提供了最全面的数据字段,对本系统任何数据表和字段都提供了中文说明,这也会大大降低 get 标签的使用难度。
一、 get标签样式以及语法
get标签样式:
{get dbsource=” " sql=” ”} {/get}
{get dbsource=” " sql=" ” /}
get标签语法:
1。get标签属性值必须用双引号括起来( " ” )。
如:{get sql=" " /}
2.get标签必须含有结束标记,即正确get标签必须是成对出现:整个Get标签含有结束标记“ {/get}”,或者是“/".(可以参考上面提到的 “二、get标签样式”)
例如:{get sql=” " }{/get}
3。get标签里面含有的变量,数组和函数必须用“{}”包括。
例如:{str_cut($r[title], 50)}
{$r[url]}
4.get标签 sql语句中条数限制。( rows=” ” )
例如:显示10条信息
{get sql=” ” rows=”10”}
{/get}
5。get标签 sql语句中条件限制。( where )
例如:调用栏目ID为1的信息
{get sql=”select * from phpcms_content where catid=1"}
标题:{$r[title]} URL:{$r[url]}
{/get}
二、get 标签参数完整剖析
get dbsource="数据源” dbname="数据库" sql=”SQL语句” rows=”行数” return="返回变量名称" page=”$page”}
输出代码(含返回变量值、数组、函数等)
{/get}
例1:调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):
{get sql="select * from phpcms_content where contentid=1" /}
标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date(’Y-m-d’, $r[updatetime])}
{/get}
例2:调用本系统多条数据,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期):
{get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc” rows=”10”}
标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y—m—d', $r[updatetime])}
{/get}
三、get 标签的认识及在模板中如何使用
〈ol>
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime〉’。TIME.’-7*86400 and c.contentid=n。contentid AND c.`status`=99 and catid=’$catid’ ’。get_sql_catid($catid)。' ORDER BY n。hits DESC” rows=”8"}
〈li><a href="{$r[url]}"〉{str_cut($r[title], 88)}</a></li>
{/get}
</ol〉
这是模板中常见的一个GET语句,最新才开始接触phpcms2008。马上就被她的人性化和超强的功能所征服了…… 有会员说“只知道是查询语句,不知道具体的含义。”在这我就来解释一下这个get的含义。首先我们从字面上一个个的来解释:
<ol〉<!--此为html标签.ol表示顺序列表。也就是说一下列表将按照一定的顺序显示,比如1,2,3……--〉
{get sql=”SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime〉'.TIME.'—7*86400 and c。contentid=n。contentid AND c.`status`=99 and catid=’$catid' ’.get_sql_catid($catid)。’ ORDER BY n.hits DESC” rows="8”}<!——get标签主体语句,从字面上来。意思就是 得到7天内的点击排行文章,下面会详细介绍—->
〈li>〈a href="{$r[url]}"〉{str_cut($r[title], 88)}</a〉</li〉〈!—-变量主体,这里的语句将输出为浏览器html代码--〉
{/get}〈!——get标签结束-—〉
〈/ol>〈!——html标签结束-—>
这就是在模板中常见的用法。
3。5 模板解析、制作思路及一些常用的例子
大家都知道,制作模板之前我们都是先把想要的模板效果样式做成静态的HTML页面,之后再结合PHPCMS模板的变量,结合GET语法把静态的HTML页面转换成PHPCMS可以识别的变量,使PHPCMS可以自动读取PHPCMS程序后台发布的信息,然后在浏览器里显示出来。而这个让静态HTML转换成可以自动读取PHPCMS程序里的内容的方法就是我们需要学的知识.
先给大家举两个例子,用的是head.html 页面的代码.
修改前的静态HTML文件里的网页关键字和网页描述代码:
〈meta content="夜之舞—-夜之舞网络工作室” name=”keywords” />
<meta content=”夜之舞网络工作室是一个专业的PHPCMS模板制作团队,制作、模仿模板都应该去找他们." name="description" />
修成可以自动读取PHPCMS程序里的网页关键字和网页描述内容后的代码:
〈meta content="{$head[keywords]}” name=”keywords” /〉
〈meta content=”{$head[description]}” name="description" />
修改前的静态HTML文件里的网站标题代码:
<title>黑夜之舞网络工作室〈/title〉
修改后的代码:
〈title〉{$head[title]}〈/title〉
下面我通过官方默认的HEAD。HTML页面解析,然后通过注释把制作思路说给大家。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3。org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
〈html xmlns="http://www.w3.org/1999/xhtml">
/*网页使用的是W3C标准XHTML+CSS ,也就是别人常说的 DIV+CSS */
〈head〉
〈meta http—equiv="Content—Type" content=”text/html; charset={CHARSET}” />
/*这是官方模板中的网页编码定义,{CHARSET}是只有phpcms才会识别的变量标签,可以自动识别程序的编码
在制作模板的时候改成自己程序相应的编码就行了。假如你的程序编码是GBK的。你改成:
〈meta http—equiv=”Content-Type" content="text/html; charset=GBK” /> */
〈title>{$head[title]}〈/title>
/*读取网站的名称*/
〈meta content=”{$head[keywords]}” name=”keywords” />
<meta content="{$head[description]}" name="description” /〉
/*读取网站的关键字和描述*/
<base href="{SITE_URL}” /〉
/*这是读取网站后台设置的网址,也是就自己的域名,如果去掉的话,那么CSS样式和其它的图片都无法正常显示*/
<link href="favicon.ico" rel=”shortcut icon" /〉
/*链接网站ICO图片*/
〈link href=”{SKIN_PATH}{$mod}。css” rel="stylesheet” type=”text/css" /〉
/*链接模板的CSS样式 做模板的时候把这里改成如:〈link href=”templates/default/skins/default/phpcms.css” rel=”stylesheet” type=”text/css” /〉就行。 */
〈link rel="alternate" type=”application/rss+xml” title=”{$head[title]}” href="/rss.php?rssid={$catid}" />
/*读取网页标题*/
<script language=”JavaScript" src=”data/config.js”>〈/script〉
<script language=”JavaScript" src=”images/js/jquery.min。js”>〈/script〉
<script language="JavaScript" src="images/js/css.js”></script>
〈script language=”JavaScript” src="images/js/common.js"></script>
〈script language=”JavaScript” src=”images/js/login。js"〉〈/script〉
〈script language="JavaScript” src="images/js/validator.js"></script>
/*上面几个JS文件关系到一些重要调用,做模板的时候要记得调用。可以把它们复制到相应模板文件夹里然后再调用*/
</head〉
<body onload="menu_selected('{php echo $catid ? $catid : $mod;}’)”〉
<div id=”top”〉
{if isset($MODULE[’search’])}
{php $types = cache_read(’search_type.php’);}
<div class="f_r"〉
<form name=”site_search” action="{$MODULE[search][url]}" target="_blank”>
<input type=”text" name=”q” size=”20” class="input_blur"/〉
<select name=’type'〉
<option value=”all”〉全部</option>
{loop $types $k $name}
〈option value="{$k}”〉{$name}〈/option>
{/loop}
〈/select〉
〈input type=”submit" name="s” id=”button" value=”搜索" class=”button_style”/>
</form〉
</div〉
{/if}
/*上面是默认搜索部分*/
〈div class=”f_l”〉
〈div id=”div_login” style=”display:none"〉
<form action=”{$MODULE[member][url]}login。php" method="post” name=”login" onsubmit="return loginSubmit(this, {PASSPORT_ENABLE});”>
用户名:<input type="text" name="username" size="12” class="input_blur"/>
密码:<input type=”password” name=”password” size=”12” class="input_blur"/〉
〈input type="submit" name="dosubmit” value=”登录" class="button_style"/>
〈input type=”button" name=”register” value=”注册” onclick="redirect(’{$MODULE[member][url]}register.php’)" class="button_style”/>
〈input type="hidden” name="cookietime” value="0”/>
〈/form>
〈/div〉
〈div id=”div_logined" style=”display:none”>
<strong id=”logined_username” >〈/strong〉,〈a href="{$MODULE[member][url]}">会员中心</a〉 |
<a href=”{if PASSPORT_ENABLE}{$MODULE[member][url]}logout。php{else}javascript:logout('{$MODULE[member][url]}logout.php?action=ajax');{/if}">退出登录</a〉
〈/div>
〈/div〉
〈/div>
/*上面是默认会员登录部分*/
<div id="head">
〈div id="logo">
〈a href=”{SITE_URL}"><img src=”images/logo.gif" alt="{$PHPCMS[sitename]}” />〈/a>
〈a href=”{SITE_URL}rss.php” target=”_blank"〉<img src="images/rss。jpg" alt=”rss信息聚合” />〈/a〉〈/div>
<div class="ad" id="topbanner”〉〈script language="javascript” src="data/js。php?id=1">〈/script></div〉
〈/div>
<div id="menu"〉
<ul>
<li>〈a href=”” id=”menu_phpcms"><span>首页</span>〈/a></li>
{tag_一级栏目}
〈/ul〉
〈/div〉
/*上面是默认导航菜单部分*/
通过上面的举例,逆向使用,就可以把静态模板转换成PHPCMS可以识别的模板。下面再通过几个例子,加深模板制作的理解。
例:
修改前的代码:
<div ID="news">
<ul class=”video_more"〉
〈li>〈cite〉〈a href="2010/0423/113。html"〉查看</a〉〈/cite>〈a href="2010/0423/113。html"〉Red Hat Linux 9光盘〈/a>〈/li〉
<li>〈cite〉<a href="2010/0423/112.html”>查看〈/a〉</cite〉<a href=”2010/0423/112.html”〉Red Hat Linux 9光盘〈/a〉〈/li>
<li〉〈cite〉<a href="2010/0423/111.html”>查看</a></cite〉<a href="2010/0423/111。html”〉Red Hat Linux 9光盘</a></li>
<li〉<cite〉〈a href=”2010/0423/101。html"〉查看〈/a〉</cite〉〈a href="2010/0423/101.html">即时通信软件Pigdin的</a〉</li〉
〈li〉<cite〉〈a href=”2010/0423/100.html”〉查看〈/a>〈/cite>〈a href=”2010/0423/100.html"〉Ubuntu的系统配置(视</a〉〈/li〉
〈li〉〈cite〉〈a href="2010/0423/99.html”〉查看〈/a〉</cite><a href=”2010/0423/99。html"〉Ubuntu桌面设置〈/a>〈/li>
<li><cite〉<a href="2010/0423/98.html”〉查看〈/a〉〈/cite〉<a href="2010/0423/98。html">虚拟机安装 fedora 1</a></li〉
<li〉<cite>〈a href=”2010/0423/97。html”〉查看</a〉</cite>〈a href="2010/0423/97。html”〉虚拟机安装Ubuntu9。1</a〉</li>
<li><cite><a href=”2010/0423/96。html”〉查看</a></cite〉<a href=”2010/0423/96。html”〉linux视频教程</a></li>
〈li〉〈cite><a href=”2010/0423/95。html"〉查看</a〉〈/cite><a href=”2010/0423/95.html”>虚拟机下红帽子 linu〈/a>〈/li〉
〈/ul〉
</div>
修改后的代码:
<div ID=”news">
〈ul class="video_more">
{get sql="select * from phpcms_content where `catid` in (11,12,13) and status=99 order by updatetime desc” rows="10"}
<li>〈cite>〈a href="{$r[url]}”〉查看</a〉</cite>〈a href=”{$r[url]}”〉{str_cut($r[title], 36,'')}〈/a〉</li〉
{/get}
〈/ul>
</div〉
代码解释:这里是调用11,12,13 这三个栏目里的10篇最新文章,然后通过定义好的样式列表显示出来.
catid in (11,12,13) 括弧中的数字可以换成你调用的栏目的id,记住一定要是子栏目才行.
str_cut($r[title], 36, 标题限制 数字36是显示信息的字数也就是标题的长度 可以调整
{$r[url]} 这个是文章的链接
几个模板中常用的GET标签:
@7天内的点击排行榜
〈ol>
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime〉’。TIME.'—7*86400 and c.contenti
展开阅读全文