dedecms 栏目如何调用非当前栏目文章
你这个{dede:arclist typeid={dede:fieldfenjiid/} row='200' titlelen='36' orderby='id' }
嵌套是不对的
{dede:field name='fenjiid' runphp='yes'}$id=@me;
global $dsql;
$dsql->Execute('dd', "SELECT arc,tptypedir,tptypename,tpisdefault,tpdefaultname,tpnamerule,tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath FROM #@__archives arc LEFT JOIN #@__arctype tp ON arctypeid=tpid where arctypeid=$id ORDER BY arcid desc LIMIT 0,200");
while($arr = $dsql->GetArray('dd'))
{
$url=GetArcUrl($arr['id'],$arr['typeid'],$arr['senddate'],$arr['title'],$arr['ismake'],$arr['arcrank'],$arr['namerule'],$arr['typedir'],$arr['money'],$arr['filename'],$arr['moresite'],$arr['siteurl'],$arr['sitepath']);
echo "<a href="$url" title="{$arr['fulltitle']}" target="_blank">{$arr['fulltitle']}</a>";
}
{/dede:field}
在制作模板的时候需要调用文章部分内容,用[field:description/]标签的时候发现字数不够多,只能调用文章正文部分的内容了,而列表而也是一样,只能通过[field:description function='cn_substr(@me,60)'/]来实现调用,以下我就发实现方法给大家。
dede:arclist flag='h' ' row='1' titlelen=''}
<h1><a href='[field:arcurl/]'>[field:title/]</a></h1>
<p>[field:id runphp='yes'] $aid = @me;
$row = $GLOBALS['dsql']->GetOne("Select body From
`d8_addonarticle` where aid='$aid' ");
@me = cn_substr(strip_tags("{$row['body']}"),400);[/field:id]
<a href='[field:arcurl/]'>阅读详细</a></p>
{/dede:arclist}
数字400是用来设置需要调用多少内容的,因为调用的是 body里面的内容,如果有里面包含代码的话也会被调用出来,有这点不好。自己去实践实践以。
找到栏目,更改里面的常规选项最下面有栏目交叉选项,选手工指定交叉栏目,在下面填你要交叉的栏目,这样,你就可以在当前栏目里面调用到你指定交叉的那几个栏目的文章了。
或者直接用{dede:sql}或{dede:php}标签去调也行的。
0条评论