admin 管理员组文章数量: 887021
2023年12月24日发(作者:无主之地游戏下载)
摘 要
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目录,,是网站所有网页的页头和页尾模板,则是网站首页模板。文件和 是新闻模型的栏目首页和栏目列表页,由于phpcms认为新闻模型是最重要的吧,因此新闻模型的模板默认不要带后缀,其他模型的栏目首页和列表页则要带上后缀,如,,这是信息栏目模型的栏目首页、栏目列表页,其他类似。至于一些扩充模型,如黄页等,其模板则在yp目录下面。
模板生成网页的过程。phpcms的网页允许生成静态网页和动态网页,不管是静态还是动态,风格都由模板限定。首先,网站管理员要把相应模型的模板放到模板目录下面,并在管理后台设定模板方案,确定后,phpcms将把模板编译为相应的php文件,保存到datacache_template下面。编译过程实际上就几条语句,把模板中的phpcms语句转换为php语句,把数据标签翻译为sql数据库操作语句,这就成了标准的php文件,服务器可以直接执行了。对于动态网页来说,工作已经完成了。静态网页则还要做一次“臵换”,执行php模板文件,按照php语法执行sql语句,把sql语句输出的结果再和模板结构部门组合成网页文件(html),并写到服务器空间里面。
这就是pgpcms系统的模板机制,灵活运用这个机制,可以设定不同子栏目灵活多变的模板。phper也要注意的是,直接改datacache_template下面的php模板文件是没用的,必须改templates下面的静态模板。
二、PHPCMS模板结构及其位置
首先从官网把phpcms2008最新版本下载下来,并安装好。安装好之后在网站管理后台里的“网站配臵”--“基本信息”--“生成文件扩展名”那设臵生成 html
扩展名,然后更新首页和缓存。网站程序就会自动生成HTML页面。打开网站下的./templates/default/phpcms/ 目录就可以看到。templates/default/是官方默
认模板风格目录。我截图给大家看
大家也可以登录网站后台管理-,在“模板风格”--“管理模板”菜单里找到这些模板名称。如下图:
完整的首页模板就是由里面的(头部)、(首页)、(尾部) 三个模板文件组成的,如果想修改首页就是修改这几个模板。下面我把常用的模板名称列出来,让大家了解。
模板目录里,以category 开头的都是栏目页
如:
文章栏目页
category_ 下载栏目页
category_ 信息栏目页
category_ 图片信息页
category_ 产品栏目页
category_ 视频栏目页
以list 开头的都是列表页
如:
文章列表页
list_ 下载列表页
list_ 图片列表页
list_ 产品列表页
list_ 视频列表页
以show开头的都是内容页
如:
文章内容页
show_ 下载内容页
show_ 信息内容页
show_ 图片内容页
show_ 产品内容页
show_ 视频内容页
上面就是PHPCMS的基本模板名称,如果你想要制作或修改模板,只要找到相应的模板修改就行了。其它以TAG开头的模板都一些标签模板,在后面我再为大家详细解释。官方PHPCM默认的每个频道基本是由栏目页、列表页、内容页 这三个页面组成,头部和尾部都是通用的。所以我们做模板或是仿模板的时候一般都是按:
1、网站首页
2、文章—文章栏目页—文章列表页—文章内容页
3、图片—图片栏目页—图片列表页—图片内容页
4、下载频道同上
5、信息频道同上
6、其他单一页面
这个顺序来做。
三、PHPCMS模板制作
3.1 PHPCMS的模板机制
所谓网站模板,就是生成网页的“模子”,主要包括固定的图片、表格、颜色等美术风格,以及要从数据库输出的数据标签,还有简单的phpcms定义的语法(也可以是很复杂的php语法)。PHPCMS每个网站的每个栏目,都可以设置不同的模板,最终栏目的网页都是一个“模子”里出来的,应此这个栏目的网页外观、风格是一致的。
PHPCMS的模板按照模块功能,分别放在这些模块名字命名的目录下面,而其中最重要的内容栏目模板,如新闻、产品、信息、图片、下载、视频以及首页的模板则放到phpcms目录下面。
phpcms目录,,是网站所有网页的页头和页尾模板,则是网站首页模板。文件和 是新闻模型的栏目首页和栏目列表页,由于phpcms认为新闻模型是最重要的吧,因此新闻模型的模板默认不要带后缀,其他模型的栏目首页和列表页则要带上后缀,如,,这是信息栏目模型的栏目首页、栏目列表页,其他类似。至于一些扩充模型,如黄页等,其模板则在yp目录下面。
下面说说模板生成网页的过程。
phpcms的网页允许生成静态网页和动态网页,不管是静态还是动态,风格都由模板限定。首先,网站管理员要把相应模型的模板放到模板目录下面,并在管理后台设定模板方案,确定后,phpcms将把模板编译为相应的php文件,保存到datacache_template下面。编译过程实际上就几条语句,把模板中的phpcms语句转换为php语句,把数据标签翻译为sql数据库操作语句,这就成了标准的php文件,服务器可以直接执行了。对于动态网页来说,工作已经完成了。静态网页则还要做一次“置换”,执行php模板文件,按照php语法执行sql语句,把sql语句输出的结果再和模板结构部门组合成网页文件(html),并写到服务器空间里面。
这就是pgpcms系统的模板机制,灵活运用这个机制,可以设定不同子栏目灵活多变的模板。phper也要注意的是,直接改datacache_template下面的php模板文件是没用的,必须改templates下面的静态模板。
3.2 PHPCMS模板常用变量含义
{$head[title]}页面标题,用法:
{$PHPCMS[sitename]}网站名称用法:
{$head[keywords]}关键字用法:
{$head[description]}网页描用法:
{$PHPCMS[version]}phpcms版本用法:
{$PHPCMS[version]}">PHPCMS_PATH}指向网站根目录用法:
{$MODULE[ads][linkurl]}广告模块域名路径用法:
{$MODULE[vote][linkurl]}投票模块域名路径与上面面是相同的,这样可以将模块绑定不同的域名,而路径不会有错误。
{$skindir}指向模版风格文件夹/templates/default/skins/default
{$PHP_SITEURL}]}')">加入收藏】
网站的域名地址用用法:法:【 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} 被解析成*}?> 而 {loop$a$b$c}*{/loop}则被解析成$c){?>*}?> 5.模板包含 {template'modulename','filename'} 例如:{template'phpcms','header'}表示包含模板目录,phpcms目录下文件 建议if和loop语法应该写在html注释符之间,这样可以避免在编辑工具中难看, 例如: 这样写if 这样写loop 如果不习惯这套语法,也可以直接在模板中书写php代码,例如 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标签语法: 标签属性值必须用双引号括起来( " " )。 如:{get sql=" " /} 标签必须含有结束标记,即正确get标签必须是成对出现:整个Get标签含有结束标记“ {/get}”,或者是“/”。(可以参考上面提到的 “二、get标签样式”) 例如:{get sql=" " }{/get} 标签里面含有的变量,数组和函数必须用“{}”包括。 例如:{str_cut($r[title], 50)} {$r[url]} 标签 sql语句中条数限制。( rows=" " ) 例如:显示10条信息 {get sql=" " rows="10"} {/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 标签的认识及在模板中如何使用
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE
updatetime>'.TIME.'-7*86400 and tid=tid AND c.`status`=99 and catid='$catid'
'.get_sql_catid($catid).' ORDER BY DESC" rows="8"}
{/get}
这是模板中常见的一个GET语句,最新才开始接触phpcms2008.马上就被她的人性化和超强的功能所征服了„„ 有会员说“只知道是查询语句,不知道具体的含义。”在这我就来解释一下这个get的含义.首先我们从字面上一个个的来解释:
- {str_cut($r[title], 88)}
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE
updatetime>'.TIME.'-7*86400 and tid=tid AND c.`status`=99 and catid='$catid'
'.get_sql_catid($catid).' ORDER BY DESC" rows="8"}
{/get}
这就是在模板中常见的用法。
3.5 模板解析、制作思路及一些常用的例子
大家都知道,制作模板之前我们都是先把想要的模板效果样式做成静态的HTML页面,之后再结合PHPCMS模板的变量,结合GET语法把静态的HTML页面转换成PHPCMS可以识别的变量,使PHPCMS可以自动读取PHPCMS程序后台发布的信息,然后在浏览器里显示出来。而这个让静态HTML转换成可以自动读取PHPCMS程序里的内容的方法就是我们需要学的知识。
先给大家举两个例子,用的是 页面的代码。
修改前的静态HTML文件里的网页关键字和网页描述代码:
修成可以自动读取PHPCMS程序里的网页关键字和网页描述内容后的代码:
修改前的静态HTML文件里的网站标题代码:
修改后的代码:
下面我通过官方默认的页面解析,然后通过注释把制作思路说给大家。
"/TR/xhtml1/DTD/">
1.0 Transitional//EN"
/*网页使用的是W3C标准XHTML+CSS ,也就是别人常说的 DIV+CSS */
/*这是官方模板中的网页编码定义,{CHARSET}是只有phpcms才会识别的变量标签,可以自动识别程序的编码
在制作模板的时候改成自己程序相应的编码就行了。假如你的程序编码是GBK的。你改成:
*/
/*读取网站的名称*/
/*读取网站的关键字和描述*/
/*这是读取网站后台设置的网址,也是就自己的域名,如果去掉的话,那么CSS样式和其它的图片都无法正常显示*/
/*链接网站ICO图片*/
/*链接模板的CSS样式 做模板的时候把这里改成如:
href="templates/default/skins/default/" rel="stylesheet" type="text/css" />就行。 */
href="/?rssid={$catid}" />
/*读取网页标题*/
type="application/rss+xml" title="{$head[title]}"
/*上面几个JS文件关系到一些重要调用,做模板的时候要记得调用。可以把它们复制到相应模板文件夹里然后再调用*/
{if isset($MODULE['search'])}
{php $types = cache_read('search_');}
{/if}
/*上面是默认搜索部分*/
/*上面是默认会员登录部分*/
/*上面是默认导航菜单部分*/
通过上面的举例,逆向使用,就可以把静态模板转换成PHPCMS可以识别的模板。下面再通过几个例子,加深模板制作的理解。
例:
修改前的代码:
language="javascript"
修改后的代码:
代码解释:这里是调用11,12,13 这三个栏目里的10篇最新文章,然后通过定义好的样式列表显示出来。
catid in (11,12,13) 括弧中的数字可以换成你调用的栏目的id,记住一定要是子栏目才行。
str_cut($r[title], 36, 标题限制 数字36是显示信息的字数也就是标题的长度 可以调整
{$r[url]} 这个是文章的链接
几个模板中常用的GET标签:
@7天内的点击排行榜
- {str_cut($r[title], 88)}
href="{$r[url]}">{str_cut($r[title],
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE
updatetime>'.TIME.'-7*86400 and tid=tid AND c.`status`=99 and catid='$catid'
'.get_sql_catid($catid).' ORDER BY DESC" rows="8"}
{/get}
@7天内的评论排行榜
- {str_cut($r[title], 88)}
{get sql="SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE
updatetime>'.TIME.'-7*86400 and tid=tid AND c.`status`=99 and catid='$catid'
'.get_sql_catid($catid).' ORDER BY ts DESC" rows="8"}
{/get}
@图片推荐GET标签(调用推荐ID为10的带有缩略图的信息)
{get sql="SELECT * FROM `phpcms_content` a, `phpcms_c_news` b WHERE
tid=tid AND `status`=99 AND `thumb`!='' AND a.`contentid`
IN(SELECT `contentid` FROM `phpcms_content_position` WHERE `posid`='10')
".get_sql_catid($catid)." ORDER BY tid DESC" rows="3"}
{/get}
@DIGG排行榜的GET标签
- {$r[supports]}{str_cut($r[title], 88)}
{get sql="SELECT * FROM phpcms_content c,phpcms_digg d WHERE tid=tid
AND =99 ORDER BY ts DESC" rows="8"}
{/get}
@DIGG排行榜的GET标签
- {$r[supports]}{str_cut($r[title], 88)}
{get sql="SELECT * FROM phpcms_content c,phpcms_digg d WHERE tid=tid
AND =99 ORDER BY ts DESC" rows="8"}
{/get}
@只调用新闻模型且推荐ID为7的新闻
- {str_cut($r[title], 88)}
{get sql="SELECT * FROM phpcms_content c,phpcms_c_news n,phpcms_content_position p
WHERE tid=tid and tid=tid and posid=7 and `status`=99
ORDER BY inputtime DESC" rows="6"}
{/if}
@调用相关新闻
{get sql="SELECT * FROM phpcms_content c,phpcms_content_tag t WHERE
tid!='$contentid' and tid=tid and =99 AND
IN('.get_sql_in($r[keywords]).') ORDER BY tid DESC" rows="6"}
{/get}
四、总结
PHPCMS模板制作并不困难,只要会点HTML知识,再加上一些SQL语法,结合PHPCMS程序的模板变量就能把模板做出来。平时只要多做几次熟练就行了!
版权声明:本文标题:PHPCMS模板制作_免费下载 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703426606h450870.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论