dedecms likearticle 调用附加表的字段怎么调用???
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /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还是其他的意思?
如果是采集标签,首先讲采集部分,需要针对该采集部分添加一个标签去采集,具体的就是在火车头的那个采集规则里添加,
发布部分需要在DEDE中后台添加字段,然后修改火车头发布模块(如果dede原本就带有的话就不需要修改)
可以使用这种方式实现
[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select 字段名 From `dede_addon21` where aid='$aid' ");@me = cn_substr(strip_tags("{$row['字段名']}"),600);[/field:id]<tr>
{dede:arclist addfields='sjdz,yysj' channelid='1' row='10' orderby='sendate'}
<td>商家地址:[field:sjdz/]</td>
<td>营业时间:[field:yysj/]</td>
{/dede:arclist}
</tr>
有些参数是我随意加上去的,关键是addfields和channelid,addfields里面是你的自定义字段,channelid如果是普通文章就是1,其他后台有,根据需要改。
是自己添加的那些字段吧 addfields和channelid 看看是不是正确的写了
用arclist调用于附加表字段的方法:
要获取附加表内容,必须符合两个条件
1、指定 channelid 属性
2、指定要获得的字段 addfields='字段1,字段'
如:
{dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}
[field:textlink /] - [field:softtype /]<br />
{/dede:arclist}
0条评论