相对于其它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}
如果说我们这里调用的是文章标题列表
数量为
6
那么我们要在
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
根据自己需要调整吧
~
其他参数前面介绍了!
这里就不多说了
继续下一个问题。
(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`
这个符号是
``
而不是
''
搞错了没办法执行。