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` 

這個符號是

``

而不是

'' 

搞錯了沒辦法執行。

發佈了28 篇原創文章 · 獲贊 0 · 訪問量 9894
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章