POST TIME:2017-11-30 22:28
我們在修改使用織夢cms模板時,會用到很多標簽,這是dede自身的數據調用命令,可以調用MYSQL的各種數據。這是非常方便的,當我們想要修改文章的頻道、列表與內容摘要,甚至是顯示多少列,顯示什么統計數據,都可以用這些標簽直接調取。
但是這些標簽也不是萬能的。也許當初織夢在開發制作時,只是按照基本模板要求進行配置標簽,所以有些數據的調用,是不能跨模板調用的。這是非常的頭痛。但如果懂得了SQL,這時候我們不需要用標簽,直接使用SQL語句,靈活地從數據庫當中調用我們需要的內容。
那怎樣才能調用數據庫中的內容呢?
舉個簡單的例子,企業模板當中的公司簡介一般可以采用單頁文檔,它在頻道模型里,那我們在首頁如何調用單頁文檔?步驟如下:
1.首頁在后臺單頁文檔管理里添加一個單頁文檔,內容編輯框輸入我們要的內容生成。
2.在需要調用單頁文檔的地方加入SQL萬用標簽
{dede:sql sql="select body from dede_sgpage where aid=2"}[field:body /]{/dede:sql} 。
上面這一段代碼的意思就是,選擇數據表dede_sgpage 的body字段輸入,aid=2這里的2表示要創建單頁文檔ID的數字,大家在使用時做下相應修改即可。
然后我們再稍微修改一下這句SQL標簽樣例代碼
{dede:sql sql="select content from dede_arctype where id=2"}
[field:content function=cn_substr(Html2Text(@me),600)/]
{/dede:sql}
這里說明一下cn_substr表示截取600個字符也就是300個漢字。Html2Text代表把含有HTML的字符過濾掉,只顯示文本。
這是不是非常方便呢?其實在織夢模板里面,我們可以自由使用SQL語句來配合織夢模板標簽,進行我們自己更多的個性化調用。
其中dede sql基本語法 格式為:
{dede:sql sql="select 字段 From 表名稱 where 條件語句"}
[field:字段名/]
{/dede:sql}
從這種基本格式,就可以轉換出一條調用文檔列表的調用標簽了,代碼為:
{dede:sql sql="select * From dede_archives limit 10"}
<li>·<a href="/plus/view.php?aid=[field:id/]">[field:title/]</a></li>
{/dede:sql}
細心的朋友可以注意到了,上面的文檔鏈接的底層模板地址是動態的,那么要怎么樣來進行轉換,讓他鏈接到靜態地址呢?
這里就只需要對[field:id/]進行一下轉換,轉換后的完整代碼為:
{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}
這樣的sql萬能語句可以讓我們在修改dede模板時,更加隨心所欲得到自己想要的數據與內容,大家有時間可以深入研究一下哦。