织梦CMS arclist标签调用自定义字段方法
发布:smiling 来源: PHP粉丝网 添加日期:2015-11-11 12:58:36 浏览: 评论:0
其实方法非常的简单我们只要使用addfields就可以实现增加自定自段了哦,不过有一点需要注意的是如果你在在后面加的我们需要把底层给选中哦,否则是可能调用不到字段的哦。
语法代码如下:
- {dede:arclist addfields='附加字段1,附加字段2,附加字段3' row='8' channelid='自定义模型id号'}
- [field:textlink /] [field:附加字段1/] [field:附加字段2/]< [field:附加字段3/]<<br />
- {/dede:arclist}
例子代码如下:
- {dede:arclist flag='c' typeid='23' channelid='1' addfields='tpic2' limit='0,8'}
- <div class="works">
- <a title="[field:title /]" href="#">
- <img src="[field:tpic2 function='GetOneImgUrl(@me,1)'/] " width="940" height="440" alt="#">
- </a> //phpfensi.com
- </div>
- {/dede:arclist}
要求:
1、指定 channelid 属性
2、指定要获得的字段 addfields='字段1,字段'
3、必须选择,使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)
这个可以用来做普通的文字类型,如果要是图片的类型的话会出现,代码如下:
- {dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}
这明显不是我们想要的,这个时候我们弄一个自定函数,代码如下:
- function GetOneImgUrl($img,$ftype=1){
- if($img <> ''){ //var articleUrl = http://www.phpfensi.com
- $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:tpic2 function='GetOneImgUrl(@me,1)'/]
这样即可.
Tags: arclist字段 arclist标签
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)