创建自定义函数
要在DEDECMS中实现自定义图片字段,首先需要创建一个自定义函数,具体步骤如下:
1、找到/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 .= ''; } } } } } $dtp>Clear(); return $img; } }
2、保存并关闭文件。
调用自定义函数
在创建了自定义函数之后,可以通过以下方式调用该函数:
1、标签调用:使用[field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/]
格式进行调用,如果自定义图片字段名为imgurl
,则调用方式为:
“`html
[field:imgurl function=’GetOneImgUrl(@me,0)’/]
[field:imgurl function=’GetOneImgUrl(@me,1)’/]
“`
2、模板调用:在前台模板中使用{dede:arclist}
标签配合addfields
参数来调用自定义图片字段。
“`html
{dede:arclist row=’6′ orderby=’id’ channelid=’1′ addfields=’itpic2′}
[field:title/][field:itpic2 function=’GetOneImgUrl(@me,0)’/]
{/dede:arclist}
“`
常见问题及解决方法
在使用DEDECMS自定义图片字段时,可能会遇到一些问题,以下是一些常见问题及其解决方法:
1、问题描述:自定义模型的图片字段在前台显示不正常。
解决办法:将自定义字段的类型从“图片”改为“图片(仅地址)”,并在{dede:arclist}
标签中添加listtype='image'
属性。
“`html
{dede:arclist channelid=’17’ addfields=’gamename,bigpic’ row=’1′ listtype=’image’}
[field:gamename/]
[field:bigpic/]
{/dede:arclist}
“`
2、问题描述:自定义图片字段在数据库中保存的内容不符合预期。
解决办法:修改include/customfields.func.php
文件中的相关代码,将保存图片路径的方式由包含HTML标签的形式改为直接保存图片路径,具体操作如下:
打开include/customfields.func.php
文件。
找到以下代码:
“`php
$imgurl = "{dede:img text=” width=” height=”} ".$iurl." {/dede:img}";
“`
将其修改为:
“`php
$imgurl = $iurl;
“`
保存并关闭文件。
相关问答FAQs
1、问:如何在DEDECMS中添加自定义图片字段?
答:在DEDECMS中添加自定义图片字段的步骤如下:进入后台,点击“核心” > “内容模型管理”,选择要修改的模型(如普通文章),点击“更改”按钮进入编辑界面,切换到“字段管理”选项,点击“添加新字段”,创建好字段后,在增加或编辑文档时就可以看到这个自定义图片字段了。
2、问:如何解决DEDECMS自定义图片字段在前台显示不正常的问题?
答:解决DEDECMS自定义图片字段在前台显示不正常的方法是将自定义字段的类型从“图片”改为“图片(仅地址)”,并在{dede:arclist}
标签中添加listtype='image'
属性。
“`html
{dede:arclist channelid=’17’ addfields=’gamename,bigpic’ row=’1′ listtype=’image’}
[field:gamename/]
[field:bigpic/]
{/dede:arclist}
“`
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1103191.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复