找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 115|回复: 0

[cms教程] 织梦dede:field标签如何实现嵌套,以及多个参数的处理

[复制链接]

该用户从未签到

发表于 2020-1-19 18:30:24 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
{dede:field}标签有个很大的缺点就是实现不了嵌套,有时候样式中间有嵌套,这样怎么处理。最近工作上同事遇到了,我把解决的方法整理出来。
        实例1:
        我需要实现的是这样显示一个自定义模型里面的标题,有就显示,没有读出来不显示,并且包含样式:
        [*,1、[url=,{dede:field.hehu_title1 /}[/url]
        如上:这样实现了调出标题,但是如果这个标题为空的时候,这一行前面的1也会显示出来,这样显然不是我们需要的,那怎么能动态控制乃?如下:
        平时使用我们使用{dee:field name='hehu_title1' /}或{dede:field.hehu_title1/}就可以实现。但是现在我们应该如下:
        {dede:field name='array' runphp='yes'}
         if (@me[hehu_title1, != ""){@me="[*,1、[url=#head1,"="";}
        {/dede:field}
        这样才实现我们的功能,做了一个判断。
        实例2:
        例如需要有短标题就显示短标题、没有短标题就显示长标题:
        {dede:field name='array'  runphp='yes'} if (@me['shorttitle',=='') @me=@me['title',;else @me=@me['shorttitle',;{/dede:field}
        备注:此用法是我们需要同时处理两个或以上字段参数的时候,用这个就很方便!
         
        edeCms Runphp 标签中调用其他变量的方法
        我们都知道,在DedeCMS中是可以使用PHP的,常见的方法就是if else了,例如模板制作中,我们需要对来源和作者进行判断,如果为空,则提示:暂无或不详,样例:
         
        {dede:field name='source' runphp='yes'}
        if(@me == ""){
         @me = "";
        }else{
         @me = "来源:".@me;
        }
        {/dede:field}
         
        但是如果想在上边的代码中调用其他变量,怎么调用呢?今天下午烈火小编就遇到这个问题,在织梦官方论坛查找了一下,现在将方法公布如下,我们将变量写为通用:array,代码如下:
         
        {dede:field name='array' runphp='yes'}
        if(@me['source', == ""){
         @me = "@me['其它变量',";
        }else {
        @me = "来源:".@me['source',;
        }
        {/dede:field}
         
         
        演示:{dede:field name='array' runphp='yes'} if(@me['url',=='')@me="暂无演示";else @me = "查看演示[/url]";{/dede:field}
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-8 17:45

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表