dedecms自定义字段标签问题
你标签用错了,不是用typename,再说这个也不是用在这里的,应该用type标签,type具体用法是:
功能说明:表示指定的单个栏目的链接
适用范围:全局使用
基本语法:
{dede:type}
[field:litpic /]或者{dede:fieldlitpic /}
<!--这是调用文章缩略图的标签,前面的是在arclist等列表标签中调用的,后者是在文档内容页面调用文档详细信息中用的,本经验来自IT零五网-->
{dede:field name='imgurls' alt='输出区'}
[field:pagestyle runphp='yes'] @me= (@me==3 '<li>' : '');[/field:pagestyle]
<a href='[field:linkurl/]' [field:pagestyle runphp='yes'] @me= (@me==3 'class="pic"' : ''); [/field:pagestyle]>
<img src='[field:imgsrc/]' id='bigimg' [field:imgwidth /] alt='[field:alttext /]' border='0' />
</a>
<a href='[field:linkurl/]' [field:pagestyle runphp='yes']@me = (@me==3 'class="title"' : '');[/field:pagestyle]>
[field:title /]
</a>
[field:pagestyle runphp='yes'] @me = (@me==3 '</li>' : ''); [/field:pagestyle]
{/dede:field}
<!--上面是图集内容输出的标签,本经验来自IT零五网-->
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /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}
最终调用到这个地址。
0条评论