DedeCMS自定义字段图片调用的问题{dede:img ...}解决方法

DedeCMS自定义字段图片调用的问题{dede:img ...}解决方法
52jyhcc
52jyhcc
47
阅读
0
评论
2021年10月10日15:17:10 0 47

在首页用自定义列表调用出来的图片字段不是正确的图片地址,而是类似于:

{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}

这样的格式!

非常明显,这样是不能正确显示的,这是织梦自定义图片字段的处理方式造成的。要解决这个问题,我们必须得创建一个自定义函数,其实现方式为:

打开 /include/extend.func.php 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个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,显示类型)"/]

比如:我们的自定义图片字段名为 imgurl ,那么调用方式有以下两种:

[field:imgurl function='GetOneImgUrl(@me,0)'/] <!--调用图片的信息,自动调用宽度和高度(已包含Html代码的<img />标签)-->

[field:imgurl function='GetOneImgUrl(@me,1)'/] <!--只调用图片地址,一般可用于背景图嵌套-->

二、示例演示

1)模型字段添加

进入网站后台,点击[核心]——[内容模型管理],点击“普通文章”的“更改”按钮,进入编辑界面,切换到“字段管理”选项,点击“添加新字段”,如图:

()

创建好字段以后,我们在增加或编辑文档时候,那么就会有这个字段了,如图:

()

上传好你要显示的图片以后,保存即可。

2)前台调用

原本我们前台调用这个字段的方法,就是通过arclist标签的 channelid 与 addfields 两个参数来配合调用(点击查看arclist的标签详解),这里不再重复的一一熬述。但大体的自定义字段的方法是这样的:

{dede:arclist row='5' orderby='id' channelid='1' addfields='imgurl'}  

<li>[field:title/][field:imgurl function='GetOneImgUrl(@me,0)'/]</li> 

{/dede:arclist}  


打赏 点赞(0)
weinxin
投诉建议
文章名+链接地址,发送到此微信:tourism52
历史上的今天
05月
17
织梦dedecms,主要,模板,文件,功能,说明 站长学院

织梦DEDEcms主要模板文件与功能说明

织梦DEDEcms主要模板文件与功能说明DedeCMS系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于D...
dedecms织梦5,搜索,时间,间隔,如何,修改 站长学院

dedecms织梦5.7搜索时间间隔如何修改

我们大家是否经常碰到这样的为,如果想用z织梦搜索功能搜索某些关键词,如果时间间隔太短,总是提示我们时间间隔太短,下面告诉您修改方法。解决办法:1:登录后台,系统,系统基本参数,性能...
​fastadmin,一键,管理,插件 站长学院

​FastAdmin一键管理插件

一键管理插件FastAdmin中的插件可以通过命令行快速的进行安装、卸载、禁用和启用。准备工作请确保你的FastAdmin已经能正常登录后台请确保php所在的目录已经加入到系统环境...
织梦,模板,引擎,如何,工作,的呢 站长学院

织梦模板引擎是如何工作的呢

DEDECMS织梦内容管理系统以其优越的性能、稳定性和强大的功能优势,在国内拥有最大的用户群,今天我们分析一下这款功能强大的内容管理系统的模板引擎是如何工作的。  织梦模板引擎是一...
fastadmin,城市,选择 站长学院

FastAdmin城市选择

FastAdmin城市选择FastAdmin中集成了强大的city-picker城市选择插件,可以很方便的选择省份和城市。常规示例我们只需要简单的为input元素添加一个data-...

Comment list 共有 0 条评论

暂无评论