PHPCMS教程_标签调用代码详解

相对于其它CMS来说,phpcms更为专业,功能也更为强大。但,对于站长门要求也就稍微的高了一些。

特别是对根基比较差的站长,写下一些使用过程中的心得,以方便广大新手站长能够轻松入门,并打

造出属于自己的网站。【前提声明:个人水平有限,有不足和不对的地方还望大家多多指教。】

一。模板制作之标签篇

1. 

在官方模板页里边,我们可以看到如

网站首页头条

这样的标签。这种标签就是“内容标签”,可以在后台的“模板风格”的“内容标签管理”里进行查看和修改。

这种标签属于模块化的标签,

语句查询配合数据调用条件赋值到模板通过模板引擎来

大家编辑一下模板基本上就能看出来。【如果打算做出一个个性化的网站,我不太

推崇过多的使用这种方式,当然,很多重复调用的部分,用这种方式还是不错的。

或许是因为个人喜好,

我个人不太常用这种方式,所以这里就不多讲,我们今天主要要讲一下

常用调用方式

 

我觉得这种方式的灵活性很强大。个人推荐。下面将重点说一下,

get

的几种常用调用方式,个人认为,做

的模板,了解了

基本上就够用了。

1

)调用一个栏目下的最新,带缩略图的文章,同时调用出起内容简介(多个栏目

ID

调用)

 

以下为模板中的标签:

 

 

<div class="oz_z1" id="tt_index"><!--

中一开始资讯推荐

--> 

{get sql="select*from content where catid>=79 and catid<=85 and status=99 and posids=1 and 

`thumb`!='' order by updatetime desc" rows="1"} 

<li><A href="http://loocase.blog.163.com/{$r[url]}" target="_blank">{str_cut($r[title], 40)}</A></li><br /> 

<div id="tit_z1"> 

<dt><A href="http://loocase.blog.163.com/{$r[url]}" title="{str_cut($r[title], 50)}" target="_blank"><img src="http://loocase.blog.163.com/{thumb($r[thumb], 110, 

75)}" /></A></dt> 

<dl><A href="http://loocase.blog.163.com/{$r[url]}" target="_blank">{str_cut($r[description],100)}</A></dl> 

</div> 

{/get} 

在使用

get

的时候注意一点就是

{/get} get

的结束标签。

 

说明:

 

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 content where catid>=79 and catid<=85 or catid=95 order by updatetime desc" 

rows="6"} 

{/get} 

如果说我们这里调用的是文章标题列表

 

数量为

那么我们要在

div

中循环的就应该是

li

了。具体如下

 

<div class="oz_z2"> 

{get sql="select*from content where catid>=79 and catid<=85 or catid=95 order by updatetime desc" 

rows="6"} 

<li><A href="http://loocase.blog.163.com/{$r[url]}" target="_blank">{str_cut($r[title], 38)}</A></li> 

{/get} 

</div> 

这里说明一点

updatetime 

的排序方式。

 

比如说我们想按照文章录入的时间来进行降序排列(也就是吧最

新的排前面),在使用

updatetime

之后,我们会发现,编辑一前的文章之后,这篇文章被调用到了列表的

最前面。所以

updatetime

是文章编辑或修改时间,如果我们不想以这种方式进行排序,而是想以文章录入

时间进行降序排列,可以吧这里的

updatetime

改为

inputtime

3

)使用

get

调用

 

栏目名及其相对应的栏

目地址

 

在使用

get 

sql

查询时,我们通常都会查询

content

这个表,在这个表里边包括了所有的文章及下载等

内容信息,但栏目只有

id

却没有栏目名,所有的栏目信息都在

 

category 

这个表里边,其实打开数据库一

看,我们就一目了然了。所以在调用栏目名及其地址的时候我们需要借助

 

{str_cut($CATEGORY[$r[catid]][catname],4)} 

这种方式来进行参数传递,呵呵,我索性连栏目名长度截取

也加上,方便大家吧。呵呵。

 

有够

BT 

,呵呵

 

具体示例如下:

 

<div class="oz_z2"> 

{get sql="select*from content where catid>=52 and catid<=55 or catid=50 or catid=77 or catid=78 order 

by updatetime desc" rows="6"} 

<li><p>[<a href="http://loocase.blog.163.com/{$CATEGORY[$r[catid]][url]}" 

target="_blank">{str_cut($CATEGORY[$r[catid]][catname],4)}</a>]</p><A href="http://loocase.blog.163.com/{$r[url]}" 

target="_blank">{str_cut($r[title], 38)}</A></li> 

{/get} 

</div> 

这个

get

调用的栏目

ID

分别为

52 53 54 55 77 78 

活学活用

 

呵呵!

 

{$CATEGORY[$r[catid]][url]} 

栏目地址

 

{str_cut($CATEGORY[$r[catid]][catname],4)} 

栏目名

 

长度为

根据自己需要调整吧

其他参数前面介绍了!

 

这里就不多说了

 

 

继续下一个问题。

 

(4)如何调用后台设置的标题颜色

 

其实这个并不神秘。

 

只是个

<span></span>

而已!

 

呵呵

 

接下来就直接示例吧!

 

<div id="hdlist"> 

<ul> 

{get sql="select*from 99inet_content where catid=40 and status=99 order by updatetime desc" rows="7"} 

<li> [{date('m-d', $r <A href="http://loocase.blog.163.com/{$r[url]}" target="_blank">{if $r[style]}<span class="{$r[style]}"> 

{str_cut($r[title], 22)}</span>{else}{str_cut($r[title], 22)}{/if}</A></li> 

{/get}</ul> 

</div> 

{get}

部分俺就不说了,上面基本上都说了

~ [{date('m-d', $r[updatetime])}] 

这个地方调用的是文章日期

 

在这个小部分,大家注意我标出来的蓝色代码和量个绿色代码,有人会问:为什么调用两次标题里??

 

 

别急

 

接下来告诉大家为什么。

 

<A href="http://loocase.blog.163.com/{$r[url]}" target="_blank">{if $r[style]}<span class="{$r[style]}">{str_cut($r[title], 

22)}</span>{else}{str_cut($r[title], 22)}{/if}</A> 

其实这段代码好简单奥,有

html

基础地人都能看明白。

{if$r[style]} 

如果数据库相对应的文章的

style

字段

不为空(也就是有内容),就生成

<span class="{$r[style]}">{str_cut($r[title], 22)}</span> ,

也就是说如果这

篇文章你设置了标题颜色或者效果(加粗、斜体等),那么最终生成的

html

页应该是这样的

 

<a href="http://loocase.blog.163.com/

文章地址

" target="_blank"><span class="b">

网站标题

</span></a> 

其实

class

的指是官方设置

好的,这里的

b

是标题加粗。

 

其值我们在这里不深究。

 

如果说在后台没有给标题加任何效果。你们生成的

html

就是

 

<a href="http://loocase.blog.163.com/

文章地址

" target="_blank

网站标题

</a> 

没有调用

<span>

而已

 

我尽量说的比较简单了,我认为这个确实应该很简单了吧。

 

呵呵

 

忘了一点,不过记得以前有位仁兄好像发过,想象我也加上吧,这样基本上

get

的常规用法就比较全面了。

 

5

)调用的技巧,

limit

参数。

 

【比如:调用从第二条开始的连续几条信息】

 

<div id="hdlist"> 

<ul> 

{get sql="select*from content where catid=39 and status=99 order by updatetime desc limit 2,7"} 

<li>[{date('

m

-d', $r[updatetime])}] <A href="http://loocase.blog.163.com/{$r[url]}" title="{str_cut($r[title], 50)}" target="_blank">{if 

$r[style]}<span class="{$r[style]}">{str_cut($r[title], 22)}</span>{else}{str_cut($r[title], 22)}{/if}</A></li> 

{/get}</ul> 

</div> 

调用栏目

id

39

并且通过审核的文章,

从第二条起的连续

7

条信息。

 

这个里边就使用了上面讲的调用后

台设置的标题颜色。

 

简单

 

简单

 

相当的简单。

 

这次真的完了。

 

奥对了,在使用

limit

 

不可同时使用

row 

,至于为什么?你

想想就明白了

 

6

)如何使用

get

在栏目首页调用所有文章模型的文章

 

(这个是模型的全部)

 

<div class="test"> 

{get sql="SELECT 

contentid,catid,typeid,areaid,title,style,thumb,keywords,description,userid,updatetime,inputtime,url 

FROM `yimi_content` WHERE status=99 ".get_sql_catid($cid)." ORDER BY contentid DESC" 

rows="40"} 

<li><a href="http://loocase.blog.163.com/{$r[url]}">{$r[title]}</a></li> 

{/get} 

</div> 

可惜是模型的全部

 

大家可以试验一下

 

给个思路

 

研究中

... 

7

)最近发现一个问题,哪就是在

get

的使用过程中

 

大家比较困惑的是

id

的取值,这点是我没想到的,

呵呵,所以我今天增加了栏目首页调用所有子栏目内容的说明。同时也提一下,

id

的另一种赋值方法。

 

{get sql="SELECT * FROM `content` c,`content_count` n WHERE c.contentid=n.contentid AND 

c.`status`=99 and catid in (39,40,41,42,43,44,45,46,47,48,66,68,69,70,71,72,73,74,75,76) ORDER BY 

contentid DESC" rows="10"} 

<li><a href="http://loocase.blog.163.com/{$r[url]}">{$r[title]}</a></li> 

{/get} 

用哪种方法就看自己喜好吧,反正个人认为能达到目的就行。

 

注意在(

6

)和(

7

)中的

 

`content` 

这个符号是

``

而不是

'' 

搞错了没办法执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值