您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程
直接调用dede织梦自定义字段图片地址的方法
王悟营2023-10-05DedeCMS教程已有人查阅
导读在默认的自定义图片字段模型调用时,一般调用出来是:这样的形式。 非常明显,这样是不能正确显示的,这是自定义图片字段的处理方式造成的。要解决这个问题,我们必须得创建一个自定义函数。
在默认的自定义图片字段模型调用时,一般调用出来是:
假如我们要制作如下效果图中的幻灯片,方便在后台直接更改图片。而使用广告图片显然没法实现,我这里用的是新建一个模型,然后简历一个这个模型的栏目,再以发布文章的形式把图片添加进去,这个整个流程来说下。
一、新建一个模型,这个模型下共新添加两个字段:大图、小图。至于链接地址我直接使用的是跳转地址。其他设置默认即可。
二、新建一个栏目,模型选择刚才新建的模型”幻灯片“
三、设置好以后在该栏目下新建需要显示的文档数目即可。我这里需要7个大图,那么我就建立了七个文档。
新建七个文档
四、在建立文档的时候填写的方法如下图,我这里因为幻灯片点击需要调整到其他页,我没用新的字段,直接用的跳转地址更方便。
五、下面就是开始调用了,我是用在头部的。
如果直接用一般的调用方法,直接用调用字段名的方法是显然就会出现如开头所说的现象。下面我们就来开始修改下程序,以便可以直接调用图片地址:
六、创建自定义函数
打开 /include/extend.func. 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的?>上一行加入以下函数代码:(如果结尾没有?>那就直接在最下面添加)
只举例调用datu字段的方法,那么调用方式有以下两种:
至此全部修改完毕。
{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}
这样的形式。 非常明显,这样是不能正确显示的,这是自定义图片字段的处理方式造成的。要解决这个问题,我们必须得创建一个自定义函数。这里我从新建模型到自定义字段的使用来举例说明下怎么直接调用图片地址。假如我们要制作如下效果图中的幻灯片,方便在后台直接更改图片。而使用广告图片显然没法实现,我这里用的是新建一个模型,然后简历一个这个模型的栏目,再以发布文章的形式把图片添加进去,这个整个流程来说下。
一、新建一个模型,这个模型下共新添加两个字段:大图、小图。至于链接地址我直接使用的是跳转地址。其他设置默认即可。
二、新建一个栏目,模型选择刚才新建的模型”幻灯片“
三、设置好以后在该栏目下新建需要显示的文档数目即可。我这里需要7个大图,那么我就建立了七个文档。
新建七个文档
四、在建立文档的时候填写的方法如下图,我这里因为幻灯片点击需要调整到其他页,我没用新的字段,直接用的跳转地址更方便。
五、下面就是开始调用了,我是用在头部的。
如果直接用一般的调用方法,直接用调用字段名的方法是显然就会出现如开头所说的现象。下面我们就来开始修改下程序,以便可以直接调用图片地址:
六、创建自定义函数
打开 /include/extend.func. 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个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,显示类型)"/]
比如:我们的自定义图片字段名为 datu 和 xiaotu,只举例调用datu字段的方法,那么调用方式有以下两种:
[field:datu function='GetOneImgUrl(@me,0)'/] 调用图片的信息,自动调用宽度和高度(已包含Html代码的<img />)
[field:datu function='GetOneImgUrl(@me,1)'/] 只调用图片地址,一般可用于背景图嵌套
八、具体到调用代码里面的调用方法就是:
{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}
注意:上面蓝色的为要调用的字段要写进去,紫色为模型的颜色。至此全部修改完毕。
本文标签:
很赞哦! ()
相关教程
图文教程
织梦dedecms文章页怎么加百度谷歌搜索本篇文章的功能
其实,我也不知道这个功能到底对seo方面有什么好处,也见过不少大网站在用;
PHPCMS忘记密码了怎么找回
进入phpmadmin在数据库中找到v9_admin表userid把字段值改为:a94afee0c452f27e737c937498baee23再把字段值
dedecms模板标签代码List标记的语法和属性说明
功能说明:表示列表模板里的分页内容列表;适用范围:仅列表网站模板 list_*.htm;orderby 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为 sortrank
dede织梦修改tag标签字符长度限制的方法
织梦(dedecms)的TAGS默认字数较少,只能写12个字符,多出的字符就会自动截断,或者直接去除,经常给我们带来一些麻烦,下面介绍如何修改织梦(dedecms)TAGS的字数限制。
相关源码
-
(PC+WAP)蓝色钢材加工建筑装修施工材料网站模板下载为钢材加工企业设计的PbootCMS响应式模板,采用PC+WAP双端适配技术,数据实时同步。简洁大气的蓝色工业风格设计,突出钢材加工行业特性,其他制造业用户更换图文内容即可快速应用。查看源码 -
pbootcms(自适应)SEO优化排名服务公司网站模板核心定位为SEO排名服务商打造的营销型网站框架,集成PbootCMS开源系统的高效管理能力与SEO最佳实践方案,助力企业快速建立专业的技术服务形象。查看源码 -
(PC+WAP)蓝色钢结构机械五金工程建筑基建营销型pbootcms模板下载于PbootCMS开发的钢结构与工程机械专用模板,助力企业构建专业级产品展示平台;模板内置工程案例展示、产品参数对照表等专业模块,预设项目进度、施工方案等建筑行业专属栏目查看源码 -
(PC+WAP)绿色产品环保设备垃圾桶厂家公司网站pbootcms模板为垃圾桶生产商、环保设备企业打造的高端响应式门户模板,基于PbootCMS开源内核深度开发。采用HTML5自适应架构,无缝实现PC与手机端数据实时同步与交互优化查看源码 -
帝国cms7.5自适应手机端在线课程教育网站源码基于帝国CMS后台管理系统,支持在线修改支付参数、联系方式等配置信息,操作界面直观便捷。专注于在线教育视频领域,提供完整的视频课程展示、付费购买及在线支付解决方案。支持多种支付渠道,满足教育培训机构的运营需求。查看源码 -
(响应式)wordpress模板VieuV4.5主题资讯自媒体博客源码Vieu主题专注于个人博客与企业展示场景,采用响应式设计确保在手机、电脑、平板等多设备上的展示。主题集成会员中心、投稿系统、内容保护等实用功能,满足现代博客网站的建设需求。查看源码
| 分享笔记 (共有 篇笔记) |
