关于dedecms datalist标签里面elseif情况的用法
我想你应该是说的这个标签 {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}
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /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}
最终调用到这个地址。
使用dedecms中,发现{dede:datalist} 下 用 [field:array runphp='yes'] 或者 {dede:field name='array' runphp='yes'} 并不起作用。
经过一番搜索和验证,发现{dede:if} 可以用,下面是一个实例:
{dede:if $fields['content'] != ''}
//第一个语句
{else}
//第二个语句
{/dede:if}
说明:1、发现必须用$fields , 如果用$value 不起作用。
2、‘content’ 为你需要判断的字段。
我们经常用的是下面这个代码,亲可以试试
{dede:channelartlist typeid='top' row='5'}<a href="{dede:fieldtypeurl/}">{dede:fieldtypename/}</a>
<dl>
{dede:channel type='son' noself='yes'}<dd><a href="[field:typelink/]">[field:typename/]</a></dd>{/dede:channel}
</dl>
{/dede:channelartlist}
0条评论