我想要在dedecms里面实现以下功能,请大神帮我写一段代码,用dedecms标签或者自定义标签。

我想要在dedecms里面实现以下功能,请大神帮我写一段代码,用dedecms标签或者自定义标签。,第1张

{dede:channelartlist}

//顶级

{dede:field name='typeid'/}{dede:field name='typeurl'/}{dede:field name='typename'/}

//下级

{dede:channel}

[field:id /] [field:typeurl /] [field:typename /]

{/dede:channel}

{/dede:channelartlist}

之前选择的自定义图集

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

打开 /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}

最终调用到这个地址。

在\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文件,常用字段都给你写在注释里了。

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

{dede:channel type="son" typeid='8'}

<a href="[field:typeurl/]" [field:global name=autoindex runphp="yes"](@me==1) @me="class=on hover":@me="class=on";[/field:global]>[field:typename/]</a>

{/dede:channel}

上面代码加上我字体加粗的部分代码就可以实现了,不懂可以追问我

您好,朋友。很高兴为您解答:

你前不久提交过一个,那个是隔行换色,这个是三个一换,其实原理一样的,你只要稍微改下就行了。下面贴出代码:

里面文字和链接替换为您网站的,这里不帮你改了。

{dede:arclist row=6}

  <li class="[field:global runphp='yes' name=autoindex] if ((@me%2)==0) @me=zsal_la_last;

   else @me='';

   [/field:global]">

              <a href="http://wwwgenbanorg"><img src="/skin/img/zsal_z3jpg" width="291" height="122" /></a>

              <h2><a href="http://wwwgenbanorg">跟版</a></h2>

              <p class="left">姓名:王阿姨<br />年龄:57岁<br />职业:教授</p>

              <div class="zsal_la_img left"><a href="http://wwwgenbanorg"><img src="/skin/img/zsal_6jpg" width="112" height="32" /></a><a href="http://wwwgenbanorg"><img src="/skin/img/zsal_7jpg" width="112" height="32" /></a></div>

              <div class="clear"></div>

              <p class="zsal_la_zlfa">治疗方案:提升骨量、即刻修复</p>

            </li>

{/dede:arclist}

我想你应该是说的这个标签 {dede:channelartlist row='7' }

<li><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>

<ul>

{dede:channel type='son' noself='yes' }

<li><a href='[field:typelink/]'>[field:typename/]</a></li>

{/dede:channel}

</ul>

</li>

{/dede:channelartlist}

 {dede:tag

row='30'

sort='new'}

[field:tag

/]{/dede:tag}

  当月热门标签

  {dede:tag

row='30'

sort='month'}

[field:tag

/]

{/dede:tag}

  随机标签

  {dede:tag

row='60'

sort='rand'}

[field:tag

/]{/dede:tag}

  参数说明:

  row='30'

调用条数

  sort='new'

排序方式

month,rand(随机),week

  getall='0'

获取类型,仅用在文档页,0

为当前内容页TAG标记,1为获取全部TAG标记。

  以上就是dedecms中tags标签的调用方法,同时提醒大家在更新网站内容时应注意网站长尾关键词及tags标签的合理应用。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 我想要在dedecms里面实现以下功能,请大神帮我写一段代码,用dedecms标签或者自定义标签。

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情