织梦新增的字段怎么调用不出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了织梦新增的字段怎么调用不出来相关的知识,希望对你有一定的参考价值。
我们在做织梦建站的时候,有些时候满足不了需求,比如给文档添加一个价格、属性等,就需要添加字段来完成。请看看下面的教程操作:
以下案例以【文章模型】来做案例:
1:打开后台--频道模型--内容模型管理
2:添加自定义字段--输入信息及数据类型
3:标签调用:
dede:arclist addfields='附加字段1,附加字段2,附加字段3' row='8' channelid='自定义模型id号'
[field:附加字段1/] - [field:附加字段2/] - [field:附加字段3/] <br />
/dede:arclist
比如刚刚我们添加字段jiage,调用方式就是:
dede:arclist addfields='jiage' row='8' channelid='1'
[field:jiage /]
/dede:arclist
秀站网整理回答,如对您有帮助,请采纳!
参考技术A 织梦DedeCMS新增字段后,在arclist标签与与列表页list标签调不出值来,这个时候要去内容模型检查下看看,是否忘记勾选"使字段可以在列表的底层模板中获得"这一项织梦自定义图片字段调用图片地址
dedecms模型添加的图片数据类型,在前台模板输出后是带有html代码的,我们在使用时只是需要图片地址就行了。
这样我们只需要写个自定义方法从字符串中把图片提取出来即可。
打开 /include/extend.func.php 在最下面添加
/**
* 自定义图片字段调用图片地址
*
* @access public
* @param string $fieldname 字段名
* @param string $ftype 输出样式
* @return string
*/
if(!function_exists(‘GetImgUrl‘))
{
function GetImgUrl($fieldname, $ftype = 1)
{
if($fieldname != ‘‘)
{
$dtp = new DedeTagParse();
$dtp->LoadSource($fieldname);
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;
}
}
}
首页模板标签调用写法
{dede:arclist typeid=‘1‘ row=‘14‘ titlelen=‘50‘ channelid=‘模型id号‘ addfields=‘自定义图片字段名‘}
[field:自定义图片字段名 function=GetImgUrl(@me)/]
{/dede:arclist}
模型id号怎么填?根据你自己自定义字段所在的内容模型来填 (如 channelid="1" 是 普通文章)
列表页模板标签调用写法
列表页dede:list标签写法,不需要channelid="模型id号" addfields="自定义字段名称"
这个只要在后台自定义字段里勾上使字段可以在列表的底层模板中获得 就行了
{dede:list pagesize=‘10‘ titlelen=‘250‘}
[field:自定义图片字段名 function=GetImgUrl(@me)/]
{/dede:list}
内容页模板标签调用写法
打开 empletssystemchannel_article_image.htm 清空所有东西,只留下一个
[field:imgsrc/]
保存,这样就可以直接在内容页模板调用了
{dede:field.自定义图片字段名/}
以上是关于织梦新增的字段怎么调用不出来的主要内容,如果未能解决你的问题,请参考以下文章
织梦添加超过两百个自定义字段后在使用addfields调用自定义字段出错的解决方法