{dede:field}

功能说明:主要是面向详情页面的内容调用

适用范围:

文章页面


基本语法:

主要标签如下

标题:{dede:field.title/}
描述:{dede:field.description function='html2text(@me) '/}
关键字:{dede:field name='keywords'/}
略缩图:{dede:field name='litpic'/}
自定义字段:{dede:field name='自定义字段'/}
主体内容:{dede:field.body/}
标签:{dede:field.tags function='Tagslink(@me)'/}
赞:{dede:field.id function="zan(@me)"/}
浏览量:{dede:field.click/}
时间:{dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/}
时间完整: {dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'  /}

很多功能都可以携带function='函数'去重新定义!一般我们都把函数放在include/extend.func.php内!


实用技巧:

技巧1:判断是否为空,显示图片

自定义字段的实用技巧,比如我们详情页面有5个图,用于轮播,我们后台开放5个接口!但是有时候客户并没有上传5个图!这时候我们就可以用到!

方法1:

 {dede:field name='array' runphp='yes'} 
                             $base=$GLOBALS['cfg_basehost']; //获取网站地址
                            if (@me['cpdt']=='') @me = "";else @me="
                            <div class='swiper-slide'>
                                <div class='img'><img src=".$base.@me['cpdt']." height='auto' alt=''></div>
                            </div>"; {/dede:field}

解说:我们用array方法,获取全部的参数,然后用runphp, 用获取到的字段判断是否为空,然后展示不同的内容!

这种方法的优点是可以获取文章内其他字段!

方法2:

{dede:field name='dt1' runphp='yes'}
                                $base=$GLOBALS['cfg_basehost']; 
                                if(@me!='') @me='<li class="arc-shop-xt-slide">
                                    <div class="imgs"><img src="'.$base.@me.'" alt=""></div>
                                </li>';
                                {/dede:field}

解说:这种方法注意一点要使用name='字段名',而且这种方法只可以获取@me即为字段名的字段,其他好像只能获取global字段,和第一种各有千秋吧!

此方法还可以采用函数,如织梦内置函数html2text,可以把内容的标签去掉!

{dede:field name='description' runphp='yes'}
                    if(@me==''){
                            @me="暂无简介";
                    }else{
                      @me=html2text(@me);
                    }
                    {/dede:field}

技巧2:函数修改值

有时候我们比如小程序,手机端等的时候要获取主体内容,但是我们文章内的图片,很多时候是相对链接,或者有很多其他的东西不适合,这时候我们可以用到函数了!

使用方法

{dede:field.body function='imglazy(@me)'/}

然后我们在include/extend.func.php内增加函数

function imglazy($content){//图片懒加载
            $pattern = Array("/<img(.*?)src=('|\")([^>]*).(bmp|jpeg|jpg|png)('|\")(.*?)>/i");
            $replacement = Array("<img $1 class='lazy' data-original=$2".$GLOBALS['cfg_basehost']."$3.$4$2 />");
            $content = preg_replace($pattern, $replacement, $content);
        return $content;
    }

这样我们就可以给图片加上绝对地址和jq的懒加载功能了!


相关内容

发表评论

验证码:
点击我更换图片

最新评论