phpcms2008標(biāo)簽調(diào)用

          相對(duì)于其它CMS來(lái)說(shuō),phpcms更為專業(yè),功能也更為強(qiáng)大。但,對(duì)于站長(zhǎng)的入門(mén)要求也就稍微的高了一些。 特別是對(duì)根基比較差的站長(zhǎng),很多都是看的一頭霧水。我個(gè)人接觸PHPCMS2008 也就兩周多。看了論壇的幾篇教程,今天想想,我決定自己寫(xiě)下一些使用過(guò)程中的心得,以方便廣大新手站長(zhǎng)能夠輕松入門(mén),并打造出屬于自己的網(wǎng)站?!厩疤崧暶鳎簜€(gè)人水平有限,有不足和不對(duì)的地方還望大家多多指教?!?br />
          一。模板制作之標(biāo)簽篇
          1. 內(nèi)容標(biāo)簽
          在官方模板頁(yè)里邊,我們可以看到如 {tag_網(wǎng)站首頁(yè)頭條} 這樣的標(biāo)簽。
          這種標(biāo)簽就是“內(nèi)容標(biāo)簽”,可以在后臺(tái)的“模板風(fēng)格”->的“內(nèi)容標(biāo)簽管理”里進(jìn)行查看和修改。
          這種標(biāo)簽屬于模塊化的標(biāo)簽,也就是說(shuō)它通過(guò)SQL語(yǔ)句查詢配合數(shù)據(jù)調(diào)用條件賦值到模板通過(guò)模板引擎來(lái)進(jìn)行讀取和生成的。 大家編輯一下模板基本上就能看出來(lái)。   【如果打算做出一個(gè)個(gè)性化的網(wǎng)站,我不太推崇過(guò)多的使用這種方式,當(dāng)然,很多重復(fù)調(diào)用的部分,用這種方式還是不錯(cuò)的。 或許是因?yàn)閭€(gè)人喜好,我個(gè)人不太常用這種方式,所以這里就不多講,我們今天主要要講一下get】
          2. get常用調(diào)用方式
          我覺(jué)得這種方式的靈活性很強(qiáng)大。個(gè)人推薦。下面將重點(diǎn)說(shuō)一下,get的幾種常用調(diào)用方式,個(gè)人認(rèn)為,做PHPCMS的模板,了解了get基本上就夠用了。
          (1)調(diào)用一個(gè)欄目下的最新,帶縮略圖的文章,同時(shí)調(diào)用出起內(nèi)容簡(jiǎn)介(多個(gè)欄目ID調(diào)用)
          以下為模板中的標(biāo)簽
          <div class="oz_z1" id="tt_index"><!--中一開(kāi)始資訊推薦-->
          {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的時(shí)候注意一點(diǎn)就是{/get} get的結(jié)束標(biāo)簽。
          說(shuō)明: phpcms_content  這是數(shù)據(jù)庫(kù)里邊數(shù)據(jù)表的名稱,如果你的數(shù)據(jù)表前綴進(jìn)行了修改,這里也必須進(jìn)行修改。如果你在安裝phpcms的時(shí)候設(shè)置的為woshi_. 那么這里就應(yīng)該是woshi_content
                      catid>=79 and catid<=85    欄目ID大于等于75并且欄目id小于等于85.   也就是調(diào)用欄目ID75  76 77  78 79  80 81 82 83 84 85的文章。
                      posids=1  文章類型為首頁(yè)推薦
                      status=99  文章已經(jīng)通過(guò)審核
                      `thumb`!=''  縮略圖不為空,也就是必須要有縮略圖
                      {$r[url]} 內(nèi)容頁(yè)的地址
                      {str_cut($r[title], 40)}  文章標(biāo)題,長(zhǎng)度限制為40
                      {thumb($r[thumb], 110, 75)}  縮略圖地址   縮略圖大小限制為width=110px  height=75px
                      {str_cut($r[description],100)  文章簡(jiǎn)介調(diào)用 簡(jiǎn)介長(zhǎng)度為100
          通過(guò)上面的調(diào)用及模板語(yǔ)句(div li ),我通過(guò)css的控制可得出如下test.gif。 具體的css部分,我們后面在講。
          (2)調(diào)用多個(gè)欄目ID,(欄目ID為不連續(xù)ID)  也就是說(shuō)我們?cè)跈谀拷⒊跗谟袡谀縄D75  76 77  78 79  80 81 82 83 84 85。 而在建立了其它欄目之后,我們有在這個(gè)欄目添加了一個(gè)新的欄目,產(chǎn)生了一個(gè)新的ID。比如ID 95.   那么我們應(yīng)該怎么樣使用get來(lái)調(diào)用啦?
          在(1)中我們使用了catid>=XX and catid<=XX  如果說(shuō)現(xiàn)在要加入catid95 那么就不能在用and了  而應(yīng)該使用 or 。 具體方式如下
          {get sql="select*from phpcms_content where catid>=79 and catid<=85 or catid=95 order by updatetime desc" rows="6"}
          {/get}
          如果說(shuō)我們這里調(diào)用的是文章標(biāo)題列表  數(shù)量為6  那么我們要在div中循環(huán)的就應(yīng)該是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>
          這里說(shuō)明一點(diǎn)updatetime 的排序方式。 比如說(shuō)我們想按照文章錄入的時(shí)間來(lái)進(jìn)行降序排列(也就是吧最新的排前面),在使用updatetime之后,我們會(huì)發(fā)現(xiàn),編輯一前的文章之后,這篇文章被調(diào)用到了列表的最前面。所以u(píng)pdatetime是文章編輯或修改時(shí)間,如果我們不想以這種方式進(jìn)行排序,而是想以文章錄入時(shí)間進(jìn)行降序排列,可以吧這里的updatetime改為inputtime
          (3)使用get調(diào)用 欄目名及其相對(duì)應(yīng)的欄目地址
          在使用get 的sql查詢時(shí),我們通常都會(huì)查詢phpcms_content這個(gè)表,在這個(gè)表里邊包括了所有的文章及下載等內(nèi)容信息,但欄目只有id卻沒(méi)有欄目名,所有的欄目信息都在 phpcms_category 這個(gè)表里邊,其實(shí)打開(kāi)數(shù)據(jù)庫(kù)一看,我們就一目了然了。所以在調(diào)用欄目名及其地址的時(shí)候我們需要借助{str_cut($CATEGORY[$r[catid]][catname],4)}  這種方式來(lái)進(jìn)行參數(shù)傳遞,呵呵,我索性連欄目名長(zhǎng)度截取也加上,方便大家吧。呵呵。 有夠BT ,呵呵   具體示例如下:
          <div class="oz_z2">
          {get sql="select*from phpcms_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="{$CATEGORY[$r[catid]][url]}" target="_blank">{str_cut($CATEGORY[$r[catid]][catname],4)}</a>]</p><A href="{$r[url]}" target="_blank">{str_cut($r[title], 38)}</A></li>
          {/get}
          </div>
          這個(gè)get調(diào)用的欄目ID分別為52 53 54 55  77  78      活學(xué)活用  呵呵!
          {$CATEGORY[$r[catid]][url]} 欄目地址
          {str_cut($CATEGORY[$r[catid]][catname],4)}   欄目名 長(zhǎng)度為4    根據(jù)自己需要調(diào)整吧~
          其他參數(shù)前面介紹了! 這里就不多說(shuō)了  繼續(xù)下一個(gè)問(wèn)題。
          (4)如何調(diào)用后臺(tái)設(shè)置的標(biāo)題顏色???  
          其實(shí)這個(gè)東東 一點(diǎn)都不神秘。 只是個(gè)<span></span>而已! 呵呵   接下來(lái)就直接示例吧!
          <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="{$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}部分俺就不說(shuō)了,上面基本上都說(shuō)了~      [{date('m-d', $r[updatetime])}]  這個(gè)地方調(diào)用的是文章日期
          在這個(gè)小部分,大家注意我標(biāo)出來(lái)的藍(lán)色代碼和量個(gè)綠色代碼,有人會(huì)問(wèn):為什么調(diào)用兩次標(biāo)題里?? 呵呵  別急  接下來(lái)告訴大家為什么。
          <A href="{$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>
          其實(shí)這段代碼好簡(jiǎn)單奧,有html基礎(chǔ)地人都能看明白。{if$r[style]} 如果數(shù)據(jù)庫(kù)相對(duì)應(yīng)的文章的style字段不為空(也就是有內(nèi)容),就生成<span class="{$r[style]}">{str_cut($r[title], 22)}</span>   ,也就是說(shuō)如果這篇文章你設(shè)置了標(biāo)題顏色或者效果(加粗、斜體等),那么最終生成的html頁(yè)應(yīng)該是這樣的
          <a href="文章地址" target="_blank"><span class="b">網(wǎng)站標(biāo)題</span></a>   其實(shí)class的指是官方設(shè)置好的,這里的b是標(biāo)題加粗。 其值我們?cè)谶@里不深究。  
               如果說(shuō)在后臺(tái)沒(méi)有給標(biāo)題加任何效果。你們生成的html就是
                <a href="文章地址" target="_blank網(wǎng)站標(biāo)題</a>    沒(méi)有調(diào)用<span>而已  
          我盡量說(shuō)的比較簡(jiǎn)單了,我認(rèn)為這個(gè)確實(shí)應(yīng)該很簡(jiǎn)單了吧。 呵呵


          忘了一點(diǎn),不過(guò)記得以前有位仁兄好像發(fā)過(guò),想象我也加上吧,這樣基本上get的常規(guī)用法就比較全面了。
          (5)調(diào)用的技巧,limit參數(shù)。 【比如:調(diào)用從第二條開(kāi)始的連續(xù)幾條信息】

          <div id="hdlist">
          <ul>
          {get sql="select*from phpcms_content where catid=39 and status=99 order by updatetime desc limit 2,7"}
          <li>[{date('m-d', $r[updatetime])}] <A href="{$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>
          調(diào)用欄目id為39并且通過(guò)審核的文章,從第二條起的連續(xù)7條信息。 這個(gè)里邊就使用了上面講的調(diào)用后臺(tái)設(shè)置的標(biāo)題顏色。
          簡(jiǎn)單  簡(jiǎn)單  相當(dāng)?shù)暮?jiǎn)單。 這次真的完了。 奧對(duì)了,在使用limit是 不可同時(shí)使用row ,至于為什么?你想想就明白了

          (6)如何使用get在欄目首頁(yè)調(diào)用所有文章模型的文章  (這個(gè)是模型的全部)

          <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="{$r[url]}">{$r[title]}</a></li>
          {/get}
          </div>
            可惜是模型的全部   大家可以試驗(yàn)一下   給個(gè)思路    研究中...

          (7)最近發(fā)現(xiàn)一個(gè)問(wèn)題,哪就是在get的使用過(guò)程中  大家比較困惑的是id的取值,這點(diǎn)是我沒(méi)想到的,呵呵,所以我今天增加了欄目首頁(yè)調(diào)用所有子欄目?jī)?nèi)容的說(shuō)明。同時(shí)也提一下,id的另一種賦值方法。

          {get sql="SELECT * FROM `phpcms_content` c,`phpcms_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="{$r[url]}">{$r[title]}</a></li>
          {/get}
          用哪種方法就看自己喜好吧,反正個(gè)人認(rèn)為能達(dá)到目的就行。

          注意在(6)和(7)中的 `phpcms_content`  這個(gè)符號(hào)是``而不是''     搞錯(cuò)了沒(méi)辦法執(zhí)行奧

          posted on 2009-06-05 16:54 丁克設(shè)計(jì) 閱讀(1160) 評(píng)論(1)  編輯  收藏 所屬分類: phpcms2008技術(shù)文檔

          評(píng)論

          # re: phpcms2008標(biāo)簽調(diào)用 2009-06-25 17:29 YYB SD

          posids=1不是樓主說(shuō)的那種用法,因?yàn)閜osids不是欄目ID  回復(fù)  更多評(píng)論   

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          主站蜘蛛池模板: 兰考县| 东源县| 且末县| 景宁| 萍乡市| 巴里| 渝中区| 广东省| 温泉县| 通渭县| 全州县| 开封市| 海林市| 铜山县| 灵武市| 清远市| 永康市| 青龙| 建始县| 孟津县| 景宁| 诸城市| 渭源县| 政和县| 富蕴县| 建昌县| 上林县| 灵丘县| 遂川县| 丹巴县| 拉萨市| 安新县| 榆树市| 南平市| 沙坪坝区| 游戏| 龙里县| 高要市| 临邑县| 平原县| 大宁县|