我在dedecms后台添加的新内容模型,首页怎么样才能调用出里面的字段?
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /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原本就带有的话就不需要修改)
<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,其他后台有,根据需要改。
点击上面红色按钮
选择公开或者完全公开
点击浏览右键查看源码
上面这段就是校检码,在提交页form中间加上上面那两段代码就可以了
有两个可能:
1如果是新建模型或者是复制模型的话,那这里需要增加模型属性,channelid='模型ID',模型ID可以
去后台模型管理中查看。
2在模型中添加字段的时候,需要选择:在前台模版中显示 那个选项。
你能修改模型或者是新建模型,相信你应该可以对你能根据以上两点查到问题的。
是自己添加的那些字段吧 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条评论