織夢(mèng)channelartlist添加limit支持自定義輸出欄目
打開(kāi) /include/taglib/channelartlist.lib.php?搜索找到
cacheid|
修改為:
cacheid|,limit|
繼續(xù)找到
$dsql->SetQuery
在它上面添加下面代碼 :
$limit = trim(preg_replace('#limit#is', '', $limit));
if($limit!='') $limitsql = " LIMIT $limit ";
else $limitsql = " LIMIT 0,$totalnum";
繼續(xù)查找
LIMIT $totalnum
修改為:
$limitsql
模板里標(biāo)簽調(diào)用:
調(diào)用1個(gè)欄目
{dede:channelartlist limit=1}
{dede:field.typeurl/}{dede:field.typename/}
{/dede:channelartlist}
調(diào)用從第2開(kāi)始欄目,輸出2個(gè)
{dede:channelartlist limit=1,2}
{dede:field.typeurl/}{dede:field.typename/}
{/dede:channelartlist}
]]>
代碼:
{dede:arclist row='1000' pagesize='10' titlelen='35' orderby='rand'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
上面這個(gè)標(biāo)簽的意思,row='1000'代表取出1000個(gè)文章, orderby='rand'代表對(duì)這些文章隨機(jī)排序,pagesize='10'代表只顯示隨機(jī)排序后的前十個(gè)文章。
這樣處理之后,生成文章html時(shí),會(huì)對(duì)取出來(lái)的文章隨機(jī)排序,顯示前十個(gè),這樣可以保證所有的文章推薦的內(nèi)容都是隨機(jī)分布的。
]]>[field:pubdate function="GetDateTimeMk(time())"/]
]]>
{dede:global.cfg_powerby/}
這個(gè)調(diào)用是網(wǎng)站模板的,但在會(huì)員中心調(diào)用是不起作用的。所以我們用下面調(diào)用代碼就行了
<?php echo $cfg_powerby; ?>
同理如果調(diào)用備案信息號(hào)就是
<?php echo $cfg_beian; ?>
變量名直接在后臺(tái)系統(tǒng)配置參數(shù)里面查看
]]>/**
* 獲取圖集圖片數(shù)量
*
* @access public
* @param string $aid 文章id
* @return string
*/
function GetImgCount($aid)
{
global $dsql;
$imgurls = '';
$row =$dsql->getone( "Select imgurls From `dede_addonimages` where aid='$aid' ");
$imgurls= $row['imgurls'];
preg_match_all("/{dede:img (.*){\/dede:img/isU",$imgurls,$wordcount);
$count=count($wordcount[1]);
return $count;
}
上面是調(diào)用圖集模型的,但如果內(nèi)容頁(yè)里面添加了圖集功能也想調(diào)用圖片數(shù)據(jù),就要把dede_addonimages修改成文章模型的表名:dede_addonarticle,如果你不知道你的欄目用的是啥模型,就在后臺(tái)頻道模型-?內(nèi)容模型管理里面查看.
[field:id function=GetImgCount(@me)/]
{dede:field.id function=GetImgCount(@me)/}
經(jīng)測(cè)試發(fā)現(xiàn),上面代碼只能調(diào)用文章模型添加圖集功能后上傳的圖片數(shù)量,無(wú)法調(diào)用內(nèi)容編輯框里面上傳的圖片數(shù)量。
]]>//調(diào)用單篇文章評(píng)論數(shù)
function cnum($id)
{
global $dsql;
$row = $dsql->GetOne("Select count(id) as c from dede_feedback where aid='$id'");
$num=$row['c'];
if($num==0)$num=' 0';
return $num;
}
第二:模板使用 [field:id function="cnum(@me)"/]調(diào)用即可
]]>第一種:
{dede:field.id runphp='yes'}
$id=@me;
@me='';
$url=GetOneArchive($id);
@me=$url['arcurl'];
{/dede:field.id}
第二種:
{dede:geturl runphp='yes'}
@me = GetCurUrl();
{/dede:geturl}
上面兩個(gè)代碼經(jīng)測(cè)試,都調(diào)用正常。網(wǎng)上查的還有一種簡(jiǎn)單的代碼{dede:field name='arcurl'/},但我用這個(gè)調(diào)不出來(lái)。大家可以試一下。
]]>May 15, 2009 樣式
[field:pubdate function='strftime("%m-%d",@me)'/]
12-17
[field:pubdate function='strftime("%m-%d",@me)'/]
2009-12-27 18:30:02 樣式
[field:pubdate function="GetDateTimeMK(@me)"/]
2009-12-27 樣式
[field:pubdate function="GetDateMK(@me)"/]
12-27
[field:pubdate function='strftime("%m-%d",@me)'/]
2009
[field:pubdate function='strftime("%Y",@me)'/]
2009-12-27 樣式
{dede:field name='pubdate' function='GetDateMk(@me)'/}
May 15, 2009 樣式
{dede:field name='pubdate' function='strftime("%b %d, %Y",@me)'/}
24小時(shí)內(nèi)的時(shí)間顯示紅色:
[field:pubdate runphp='yes']
$a="";";
$b="
$c=strftime("%Y年%m月%d日 %H:%M:%S","@me");
$ntime = time();
$oneday = 3600 * 24;
if(($ntime - @me)<$oneday) @me = $a.$c.$b;
else @me =$c;
[/field:pubdate]
最后更新時(shí)間
{dede:tagname runphp='yes'}@me = date("Y-m-d H:i:s", time());{/dede:tagname}
XX天前
[field:pubdate runphp='yes']
$today = Floor(time()/(3600 * 24));
$senday= Floor(@me/(3600 * 24));
$updays = $today-$senday;
if($updays==0) @me = "今日";
else @me = $updays."天前";
[/field:pubdate]