織夢DedeCms給我們提供了大量調(diào)用標(biāo)簽,供我們調(diào)用各種數(shù)據(jù),但提供再多的標(biāo)簽,也有滿足不了我們的時候,這時我們可以用SQL語句,靈活調(diào)用我們需要的內(nèi)容。
如何任意調(diào)用數(shù)據(jù)庫中的內(nèi)容呢?先舉個例子:大家都知道Dede后臺有個頻道模型里面有添加單頁文檔的功能,但如何在首頁調(diào)用單頁文檔的內(nèi)容呢,現(xiàn)在給大家講下如何使用:
1.首頁在后臺單頁文檔管理里添加一個單頁文檔,內(nèi)容編輯框輸入你要的內(nèi)容生成。
2.在需要調(diào)用單頁文檔的地方加入SQL萬用標(biāo)簽{dede:sql sql="select body from dede_sgpage where aid=2"}[field:body /]{/dede:sql} 相信熟悉SQL語言的朋友很容易看懂這句含義。意思其實就是選擇數(shù)據(jù)表dede_sgpage 的body字段輸入,aid=2這里的2表示你創(chuàng)建單頁文檔ID數(shù)字,你使用時做下相應(yīng)修改即可。
又如這句SQL標(biāo)簽樣例代碼
代碼如下:
{dede:sql sql="select content from dede_arctype where id=2"}
[field:content function=cn_substr(Html2Text(@me),600)/]
{/dede:sql}
根據(jù)上面的例子,應(yīng)該很好理解了,這里主要說明一下cn_substr表示截取600個字符也就是300個漢字。Html2Text代表把含有HTML的字符過濾掉,只顯示文本。
其實除了上面的例子外,在Dede系統(tǒng)里面,我可以可以自由使用SQL語句來配合織夢標(biāo)簽進(jìn)行更多的個性化調(diào)用。他們的基本參照格式為:
代碼如下:
{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'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]" title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,30,0)/]</a></li>
{/dede:sql}