2010-03-22 10:48?來源
首先,需要注意的是,這時在后臺自定義標簽管理里新建的是一個函數(shù)標簽,標簽名稱可以命名為{$MY_隨機文章}。
查詢語句設置為:(“top10”中的10是要查詢的文章數(shù),可以自己改,但不建議修改得太大;如果不想按欄目調(diào)用,而是調(diào)用某一個頻道下的文章,那么可以把ChannelID in ({input(0)}) and ClassID in ({input(1)}) 修改為:ChannelID in ({input(0)}) ,相應的,調(diào)用標簽就是:{$MY_隨機文章(頻道ID)}了 ;“DateDiff(\"d\",date(),UpdateTime)<7”中的7是指查詢最近7天的文章,根據(jù)需要修改;)
select top 10 ArticleID,ClassID,Title,UpdateTime from PE_Article where ChannelID in ({input(0)}) and ClassID in ({input(1)}) and DateDiff(\"d\",date(),UpdateTime)<7 and Deleted={$PE_False} and Status=3 Order by right(cstr(Rnd(-int(ArticleID+rnd(-timer())*100)))*1000*Now(),2);
標簽內(nèi)容設置為:
{Loop}{Infobegin}
{$Field(2,Text,44,2,1)}
{Infoend}{/Loop}
其次,在模板里適當位置加入{$MY_隨機文章(頻道ID,欄目ID)}即可進行調(diào)用,其中頻道ID、欄目ID可以根據(jù)自己實際進行修改。
需要注意的是,好的效果是在損失性能的前提下實現(xiàn)的,不比SQL數(shù)據(jù)庫的動態(tài)標簽,這個標簽的代碼效率很低,雖然標簽保證了隨機性,如果是生成靜態(tài)的,那生成的每個頁面都不一樣,每次生成也都不一樣。但是虛擬主機用戶當CPU峰值小于5%的時候,而你又要生成靜態(tài)頁面的話,生成文章超過700篇就有可能造成進程當機了。建議在生成大量靜態(tài)頁面的時候,尋找訪客較少的時候進行,并且一次盡量少生成一些。也可以修改動易安裝目錄下的Config.asp文件:
Const MaxPerPage_Create = 10 \'一次生成的數(shù)量,把他改小一些,Const SleepTime = 3 \'生成的間隔時間,把他改大一些。
編輯: