请问:dedecms 的标签{dede:channel type ='son'} 如何定义只是列出第三个子栏目出来呢

请问:dedecms 的标签{dede:channel type ='son'} 如何定义只是列出第三个子栏目出来呢,第1张

在\dede\include\extendfuncphp文件中添加如下函数

function getArticleList($category=0,$order="",$limit="0,200"){

global $dsql;

$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,

        tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath

        FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid

        where tpid=$category";

//此sql语句我只加了where判断文章所属分类

//其他的order limit 你根据需要自己添加

$dsql->SetQuery($query);

$dsql->Execute('lit');

$arr = array();

$cnt = 0;

$str = "";

while ($row = $dsql->GetArray('lit')) {

if($cnt%4 == 0){

$str = "<div class='css1'>";

}

if($cnt%4 > 0){

$class = "css3";

}else{

$class = "css2";

}

$str = "<span class='"$class"'>"$row['title']"</span>";

$cnt++;

if($cnt%4 == 0){

$str = "</div>";

}

//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']

}

return $str;

}

然后在模板中使用 

{dede:field name='typeid' function="getArticleList(@me)" /}

将分类的id传给此函数就可以调用到数据,输出就是你要的格式。

输出内容你修改下php文件,常用字段都给你写在注释里了。

如果可以请也将我昨天给你回答的采纳一下。

之前选择的自定义图集

一、添加一个获取地址的方法

打开 /include/extendfunc 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的>上一行加入以下函数代码:(如果结尾没有>那就直接在最下面添加)

function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ $dtp = new DedeTagParse(); $dtp->LoadSource($img); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='img'){ $width = $ctag->GetAtt('width'); $height = $ctag->GetAtt('height'); $imgurl = trim($ctag->GetInnerText()); $img = ''; if($imgurl != ''){ if($ftype==1){ $img = $imgurl; } else{ $img = '<img src="'$imgurl'" width="'$width'" height="'$height'" />'; } } } } } $dtp->Clear(); return $img; } }

可以直接用下面的方法调用

[field:自定义字段名 function="GetOneImgUrl(@me,显示类型)"/]

最终使用方法。

{dede:arclist typeid='12' addfields='datu' channelid='17' limit='0,7'}

<li><a href="[field:arcurl/]" target="_blank"><img border="0" src="[field:datu function='GetOneImgUrl(@me,1)'/]"></a></li>

{/dede:arclist}

最终调用到这个地址。

织梦云模板为您解答:

单个栏目的调用,可以用type标签,调用方法如下:

{dede:type typeid='第三个栏目的id'}

<!--第三个子栏目-->

{/dede:type}

type标签的具体用法:

http://wwwdedeyuncom/news/tags/news-4699html

1、如果你打开的是模板文件,那肯定只能看到标签源代码了,没有通过织梦系统解析出来的

2、生成页面后,前台就不会有标签源代码了

3、检查一下是不是标签书写不正确,例如标签没有关闭也会出现源代码

多素材织梦模板

为您解答

望采纳

embed src=url 是用来插入多媒体的,看你写的代码应该是想调用一个flash吧 而{dede:fidelbody/}是调用的织梦的文章内容。用这段代码想实现怎样的效果呢?想把内容设置成flash 如果是在调用内容后,在下方插入flash,那么你就可以这样写: {dede:fieldbody/} <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" http://downloadmacromediacom/pub/shockwave/cabs/flash/swflashcab#version=6,0,2 9,0" width="680" height="150"> <param name="movie" value=" images/flashswf"> <param name="menu" value="false"> <param name="quality" value="high"> <param name="wmode" value="transparent"> <embed src="images/flashswf" width="680" height="150" quality="high" wmode="transparent" pluginspage=" http://wwwmacromediacom/go/getflashplayer" type="application/x-shockwave-flash"></embed> 在flash路径中选择自己flash的路径就可以实现flash效果,这个你肯定知道。呵呵。。 老孔不好意思没有帮到你!

1、标签是否完整闭合 <div> <ul> <li> <a> 这类标签都是要闭合的,否则就会发生异常。 2、css是否一致例如不同站点,元素的长、宽不同,导致排版错误。 3、粘贴的位置是否混乱,是否符合原来标签

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请问:dedecms 的标签{dede:channel type ='son'} 如何定义只是列出第三个子栏目出来呢

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情