dedecms自定义字段标签问题
织梦标签是不能嵌套使用的,你用了{dede:field name='datu' runphp='yes'} {/dede:field}
这对标签中间不能出现花括号的任何标签 { },可以使用英文的中括号,这样 [ ] 的。
您好,您这样:
以普通文章频道中新建字段为例:添加“问题答案”字段名称 "daan"点击核心-频道模型-内容模型管理-普通文章
点击 字段管理-添加新字段
依次填写:
(1)表单提示文字:问题答案
(2)字段名称:daan
(3)字段类型:选择 系统自动生成表单字段
(4)数据类型:多行文本
(5)最大长度:1000
点击确定
回到 字段管理页面 如图所示
点击 基本设置
找到 列表附加字段,填入新建字段 daan ,用英文逗号隔开
点击 确定
新建客户问答栏目-编辑问题、答案
问答列表调用代码:
自定义字段在栏目列表中掉用{dede:list pagesize='3'addfields='daan'}
<li >
<a href="[field:arcurl/]">[[field:title/]]</a>
<p> 答案:[field:daan function='cn_substr(@me,270)'/] </p>
</li>
{/dede:list}自定义字段在首页调用:channelid是内容模型的ID号,文章的ID是 "1"{dede:arclist addfields='daan' row='3' channelid='1'}
<a href="[field:arcurl/]">[[field:title/]]</a>
<p> 答案:[field:daan function='cn_substr(@me,30)'/] </p>
{/dede:arclist}
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /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:arclist typeid = ‘栏目id’ row='36' titlelen='32' addfields='附加表字段名称,以‘,’分隔' channelid='模型id' }
[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]
Select 字段名1,字段名2,字段名3 From
英文逗号分隔开,调用使用 $row['字段名1'] $row['字段名2'] $row['字段名3']
600 是字数 cn_substr 函数
strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。
0条评论