PHPCMS 模板调用全攻略get篇
相对于其它CMS来说,phpcms更为专业,功能也更为强大。但,对于站长的入门要求也就稍微的高了一些。 特别是对根基比较差的站长,很多都是看的一头雾水。我个人接触PHPCMS2008 也就两周多。看了论坛的几篇教程,今天想想,我决定自己写下一些使用过程中的心得,以方便广大新手站长能够轻松入门,并打造出属于自己的网站。【前提声明:个人水平有限,有不足和不对的地方还望大家多多指教。】
一。模板制作之标签篇
1. 内容标签
在官方模板页里边,我们可以看到如 {tag_网站首页头条} 这样的标签。
这种标签就是“内容标签”,可以在后台的“模板风格”->的“内容标签管理”里进行查看和修改。
这种标签属于模块化的标签,也就是说它通过SQL语句查询配合数据调用条件赋值到模板通过模板引擎来进行读取和生成的。 大家编辑一下模板基本上就能看出来。 【如果打算做出一个个性化的网站,我不太推崇过多的使用这种方式,当然,很多重复调用的部分,用这种方式还是不错的。 或许是因为个人喜好,我个人不太常用这种方式,所以这里就不多讲,我们今天主要要讲一下get】
2. get常用调用方式
我觉得这种方式的灵活性很强大。个人推荐。下面将重点说一下,get的几种常用调用方式,个人认为,做PHPCMS的模板,了解了get基本上就够用了。
(1)调用一个栏目下的最新,带缩略图的文章,同时调用出起内容简介(多个栏目ID调用)
以下为模板中的标签
<div class="oz_z1" id="tt_index"><!--中一开始资讯推荐-->
{get sql="select*from phpcms_content where catid>=79 and catid<=85 and status=99 and posids=1 and `thumb`!='' order by updatetime desc" rows="1"}
<li><A href=" {$r[url]}" target="_blank"> {str_cut($r[title], 40)}</A></li><br />
<div id="tit_z1">
<dt><A href=" {$r[url]}" title="{str_cut($r[title], 50)}" target="_blank"><img src=" {thumb($r[thumb], 110, 75)}" /></A></dt>
<dl><A href="{$r[url]}" target="_blank"> {str_cut($r[description],100)}</A></dl>
</div>
{/get}
在使用get的时候注意一点就是{/get} get的结束标签。
说明: phpcms_content 这是数据库里边数据表的名称,如果你的数据表前缀进行了修改,这里也必须进行修改。如果你在安装phpcms的时候设置的为woshi_. 那么这里就应该是woshi_content
catid>=79 and catid<=85 栏目ID大于等于75并且栏目id小于等于85. 也就是调用栏目ID75 76 77 78 79 80 81 82 83 84 85的文章。
posids=1 文章类型为首页推荐
status=99 文章已经通过审核
`thumb`!='' 缩略图不为空,也就是必须要有缩略图
{$r[url]} 内容页的地址
{str_cut($r[title], 40)} 文章标题,长度限制为40
{thumb($r[thumb], 110, 75)} 缩略图地址 缩略图大小限制为width=110px height=75px
{str_cut($r[description],100) 文章简介调用 简介长度为100
通过上面的调用及模板语句(div li ),我通过css的控制可得出如下test.gif。 具体的css部分,我们后面在讲。
(2)调用多个栏目ID,(栏目ID为不连续ID) 也就是说我们在栏目建立初期有栏目ID75 76 77 78 79 80 81 82 83 84 85。 而在建立了其它栏目之后,我们有在这个栏目添加了一个新的栏目,产生了一个新的ID。比如ID 95. 那么我们应该怎么样使用get来调用啦?
在(1)中我们使用了catid>=XX and catid<=XX 如果说现在要加入catid95 那么就不能在用and了 而应该使用 or 。 具体方式如下
{get sql="select*from phpcms_content where catid>=79 and catid<=85 or catid=95 order by updatetime desc" rows="6"}
{/get}
如果说我们这里调用的是文章标题列表 数量为6 那么我们要在div中循环的就应该是li了。具体如下
<div class="oz_z2">
{get sql="select*from phpcms_content where catid>=79 and catid<=85 or catid=95 order by updatetime desc" rows="6"}
<li><A href="{$r[url]}" target="_blank">{str_cut($r[title], 38)}</A></li>
{/get}
</div>
这里说明一点updatetime 的排序方式。 比如说我们想按照文章录入的时间