互联网技术 · 2024年2月5日 0

织梦程序如何使用自定义字段?

 

dedecms系统调用自定义字段的方法相当简单,直接使用{dede:field.*/}这样的方式调用即可。我在制作模板的时候遇到这样一个需求:我要同时调用3个自定义字段,而这三个字段中如果有一个为空则其他的两个字段不论是否为空,这三个字段均不显示,根据这个需求,使用前面的标签显示无法实现。

经过多种尝试,还是找到了可以实现的方法,假设有3个自定义字段,字段名分别是bdsheng、bdshi、bdxian,下面是详细的实现步骤。

一、文章详情页调用方法

使用了好几种方式测试,但是只有一种成功,就是使用array,代码如下:

1.{dede:field name=array runphp=yes}

2.if(@me[bdsheng] != && @me[bdshi] != && @me[bdxian] != )

3.@me=你选择了: . @me[bdsheng] . 下级分类有: . @me[bdshi] . @me[bdxian];

4.if(@me[bdsheng] != && @me[bdshi] != && @me[bdxian] == 上海)

5.@me=当前为 . @me[bdsheng] . 直辖市, . @me[bdshi] . @me[bdxian];

6.if(@me[bdsheng] ==徐汇 && @me[bdshi] == 上海 && @me[bdxian] != )

7.@me=信息录入错入,请重新填写!;

8.else @me = “”;

{/dede:field}

其中第2、3两行表示这三个字段全部不为空,满足条件就输出第三行内容,两个&符号时“并且”的意思,第8行代码表示如果前面的条件都不满足,则不输出任何信息。注意实处信息不能是使用双引号。

二、首页和列表页调用方法

栏目列表页和网站首页调用多个字段可以使用dede:arclist标签来限定,详细代码如下。

1.{dede:arclist row=5}

2.[field:array runphp=yes]

3.if(@me[bdsheng] != && @me[bdshi] == 天津 && @me[bdxian] ==河西区)

4.@me=输入正确,请选择 . @me[bdshi] . @me[bdxian];

5.if(@me[bdsheng] !=南开区 && @me[bdshi] == 红桥区 && @me[bdxian] != )

6.@me=这里是南开大学 . @me[bdshi];else @me = “”;

7.[/field:array]

8.{/dede:arclist}

上面代码应该都能看懂,就是使用if来判断,如为空或者等于某个值时,就输出对应的内容,如果条件都不满足就什么也不输出,显示的就是一个空白。

其实还是比较简单,这个判断语句的使用可以减少某些字段为空时,前台页面上显示必须要的占位符,影响美观和用户体验。

本文由岑辉宇博客整理发布,微信搜索微信公众号“岑辉宇 ”可查看更多内容。

更多SEO教程:http://www.cenhuiyu.com/

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!