DedeCMS v5.7的loop萬能標簽非常有用,可以使用它來調用任意表中的數據,我們先來看看loop標簽的語法結構。
{dede:loop table='table_name' if='condition' sort='field_name' row='line_number'}
<a href='[field:arcurl/]'>[field:title/]</a><br />
{/dede:loop}
上面就是loop標簽的語法了,其中table_name指的是表名,也就是要查詢的數據所在的表;condition是條件,相當于SQL語句中的where;field_name指的是排序方式,相當于SQL語句中的order by;line_number是行數,指要查詢多少條數據,我們通過兩個例子來說明loop標簽的強大功能。
{dede:loop table='dede_archives' sort='mid' row='4' if='mid=1'}
<a href='[field:arcurl/]'>[field:title/]</a>([field:mid/])<br />
{/dede:loop}
上面的例子是調用DedeCMS文檔主表的文章,根據mid也即會員ID號排序,條件是會員ID等于1。換句話說,這段代碼的作用是查詢會員ID為1的用戶發布的4篇文檔。
站長們也許會問為什么loop標簽叫萬能調用標簽呢?其實它除了調用DedeCMS數據表里面的內容外,還可以調用其他程序數據表中的數據,從而起到整合數據的作用。
{dede:loop table='cdb_threads' if='' sort='tid' row='8'}
<a href="http://down.chinaz.com/bbs/thread-[field:tid/]-1-1.html">
[field:subject function="cn_substr('@me',40)"/]
</a><br />
{/dede:loop}
上述代碼的功能和第一個例子類似,它用來獲取Discuz! 論壇的最新主題帖子,URL標簽中的域名要替換成自己的域名,各位站長可以試驗下。總之,loop標簽同時可以查詢跟DedeCMS處在同一個數據庫的數據表,如果您的論壇或者商城程序安裝在同一數據庫,也可以使用loop標簽進行調用。