相對於其它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`
這個符號是
``
而不是
''
搞錯了沒辦法執行。