好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

织梦dede网站内容模型普通文章调用自定义图片字

织梦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网站内容模型普通文章调用自定义图片字的详细内容...

  阅读:49次