织梦dede网站内容模型普通文章调用自定义图片字段的方法(和
织梦dede网站内容模型普通文章调用自定义图片字段的方法(和调用图片不显示)
织梦DedeCMS网站内容模型普通文章调用自定义图片字段的方法,我们首先需要创建一个自定义函数,找到:/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 = '' ; //开源软件:phpfensi.com if ( $imgurl != '' ){ if ( $ftype ==1){ $img .= $imgurl ; } else { $img .= '' ; } } } } } $dtp ->Clear(); return $img ; } }这个自定义函数使用dedecms标签调用方法.
[field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/]
比如:我们的自定义图片字段名为 imgurl,那么调用方式有以下两种:
[field:litpic2 function='GetOneImgUrl(@me,0)'/] 标签)–>
[field:itpic2 function='GetOneImgUrl(@me,1)'/]
模型字段添加
[核心]——[内容模型管理],点击[普通文章]的[更改]按钮,进入编辑界面,切换到[字段管理]选项,点击[添加新字段].
创建好字段以后,我们在增加或编辑文档时候,就会有这个添加的自定义图片字段了,在前台调用我们可以使用下面的标签,大体的自定义字段的方法是这样的:
{dede:arclist row=’2′ channeld=’1′ addfields=’自定义字段1,自定义字段2′}
底层模板:{/dede:arclist}
运用到我们刚才的这个函数,调用方法为:
{dede:arclist row= '6' orderby= 'id' channelid= '1' addfields= 'itpic2' } [field:title/][field:itpic2 function = 'GetOneImgUrl(@me,0)' /] {/dede:arclist} {dede:arclist row= '3' orderby=click type= 'image.' typeid= '3' titlelen= '28' addfields= 'litpic2' channelid= '1' } [field:title/][field: global .autoindex/] {/dede:arclist}这个标签还是蛮有用的,需要记住了哦.
解决调用图片不显示方法:
1、织梦自定义字段如果设置是图片类型,那么前台就会显示出下面这种形式的内容:
{dede:img text='' width='270' height='129'} /uploads//1-H21F54P.gif {/dede:img}
非常明显,这样是不能正确显示的,这是织梦自定义图片字段的处理方式造成的,要解决这个问题,我们必须得创建一个自定义函数,其实现方式为:修改/include/extend.func.php 文件,如上面修改函数.
2、有些站长在使用织梦自定义图片时,常常出现图片显示不正常的情况,我们来剖析解决这个问题.
问题描述:
自定义模型为dede_addongame
-----------------自定义字段-------------------------
游戏名称:gamename(vchar)
游戏幻灯图:flashpic(图片)
推荐图片:bigpic(图片)
-----------------HTML代码-------------------------
{dede:arclist channelid=‘17’ addfields= 'gamename,bigpic' row= '1' } [field:gamename/] [field:bigpic/] {dede:arclist/}-----------------生成网页-------------------------
超级玛丽
{dede:img text='' width='320' height='240'}upload/200906/maria.jpg{/dede:img}
可见,生成的HTML代码无法正常显示自定义图片.
解决办法:
第一步:将自定义字段[图片]类型改为[图片(仅地址)]类型。
第二步:在{dede:arclist channelid=‘17’ addfields='gamename,bigpic' row='1'}中添加一句listtype='image'就可以解决问题了。
改后的代码{dede:arclist channelid=‘17’ addfields='gamename,bigpic' row='1' listtype='image'}...{/dede:arclist}。
这样就可以搞定问题了.
查看更多关于织梦dede网站内容模型普通文章调用自定义图片字的详细内容...