DEDECMS織夢的單頁文章是建設(shè)網(wǎng)站一種非常高效的方式,非常方便快捷。不過有時候我們需要在首頁或者列表頁面調(diào)用某些單頁的內(nèi)容,如首頁調(diào)用關(guān)于我們單頁的介紹信息等。DedeCMS織夢模板怎么實現(xiàn)在除單頁以外的頁面,調(diào)用單頁的文章內(nèi)容呢?
織夢CMS實現(xiàn)其他頁面調(diào)用單頁文章內(nèi)容
織夢其他頁面調(diào)用單頁文章內(nèi)容使用SQL標(biāo)簽首先需要做的,就是把SQL語句寫出來,調(diào)用的SQL語句如下:
{dede:sql sql="SELECT body FROM `dede_sgpage` where aid = 1" } [field:body function="htmlspecialchars(cn_substr(@me,130))"/] {/dede:sql}
sql="SELECT body這里的body就是文章內(nèi)容字段,F(xiàn)ROM `dede_sgpage`這里的dede_sgpage是單頁文檔數(shù)據(jù)表,where aid = 1 這里的aid = 1 就是你單頁文檔所在的id,你需要調(diào)用哪個單頁文檔的內(nèi)容,就把這個換成所在文檔的id就可以了。
以下的語句則是使用織夢的兩個函數(shù),對調(diào)用的字段數(shù)據(jù)進(jìn)行了必要的處理:
[field:body function="htmlspecialchars(cn_substr(@me,130))"/]
field:body 這里的body如上,就是文章的內(nèi)容,(cn_substr(@me,130) 這里的130就是你準(zhǔn)備讓內(nèi)容顯示的字?jǐn)?shù),可以自己調(diào)整。
采用上述方法雖然可以成功調(diào)用,但是會出現(xiàn)一個問題,就是會把源代碼也調(diào)用出來。
這個時候可以使用下面這個代碼
{dede:sql sql="SELECT body FROM `dede_sgpage` where aid = 1" } [field:body function="htmlspecialchars(cn_substr(Html2text(@me),600))"/] {/dede:sql}
Html2text() 函數(shù)是去掉html標(biāo)簽代碼。cn_substr(str,750) 函數(shù)是截取字符串長度,cn_substr表示截取600個字符換算成漢字就是300個漢字。
這里再做個延伸:如何任意調(diào)用數(shù)據(jù)庫中的內(nèi)容呢?
其實除了上面的例子外,在Dede系統(tǒng)里面,可以自由使用SQL語句來配合織夢標(biāo)簽進(jìn)行更多的個性化調(diào)用?;緟⒄崭袷綖椋?/div>
{dede:sql sql="select 字段 From 表名稱 where 條件語句"}  [field:字段名/]  {/dede:sql}
由上面這種基本格式,我們就可以基本轉(zhuǎn)換出一條調(diào)用文檔列表的調(diào)用標(biāo)簽了,代碼為:
{dede:sql sql="select * From dede_archives limit 10"}  <li>·<a href="/plus/view.php?aid=[field:id/]">[field:title/]</a></li> {/dede:sql}
大家看到了上面的文檔鏈接的底層模板地址的是動態(tài)的,那么我們要怎么樣來進(jìn)行轉(zhuǎn)換,讓他鏈接到靜態(tài)地址呢,這里我們只需要對[field:id/]進(jìn)行一下轉(zhuǎn)換,轉(zhuǎn)換后的完整代碼為:
{dede:sql sql="SELECT * FROM dede_archives limit 10"}  <li>·<a href="[field:id runphp='yes'] ]" title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,30,0)/]</a></li>  {/dede:sql}