巅峰霸主 > 设计开发 > 织梦教程 >

dedecms调用联动类型枚举名称,修复显示数字和只调用选中项值方法

时间:2020-05-05 22:08:35  来源:织梦系统  作者:烈火大地 点击:
摘要:dedecms联动类别使用范围比较广泛,不过有点点小bug,下面是整理好的添加方法和前台模板调用方式,修复了显示数字和只显示选中值的问题……

一、联动类别的添加方法:

在网站后台点击频道模型下面的“联动类别管理”,右上角的位置点“新增类别组”添加联动枚举分类,下图所示,类别名填写“百度地域”,缓存组名填写“bddiyu”。

dedecms添加联动类别

点“确定添加”之后,继续添加省份简称,先把省份简称加入,每个名称之间使用英文逗号隔开。

使用同样的方法把每个省下面的“市”简称添加完,稍微有点多,一个一个加就行。

二、内容模型关联“联动类型”

回到“频道模型”,点击“内容模型管理”,在前面第三步中添加字段的那个内容模型中添加新字段,“表单提示文字”填写“百度地域”,“字段名称”填写“bddiyu”,特别注意此处的字段名称要和上一步联动缓存组名保持一致,“数据类型”选择“联动类型”,其他的留空,然后保存即可。

通过一番添加和关联,所有的功能性自定义字段全部添加完毕,着实挺麻烦的。

三、前端模板中调用联动类型字段

调用代码:

{dede:field.bddiyu/}
bddiyu

为联动类型的字段名。不过这种方式调出来数据是“河北 -- 石家庄”这样的格式,也就是把一级分类的名称也调出来了,有时候只想要选择的联动类别值,即最后一级的选项名称,此时需要修改一下代码才能实现。

四、织梦联动类型枚举名显示文字

我们需要把联动类型枚举名称直接显示出来,打开dedecms系统根目录\include\taglib\channel\stepselect.lib.php文件,分别搜索以下代码:

return $GLOBALS['em_'.$egroup.'s'][$etopvalue].' -- '.$GLOBALS['em_'.$egroup.'s'][$esonvalue].' -- '.$GLOBALS['em_'.$egroup.'s'][$esecvalue];

替换为:

return $GLOBALS['em_'.$egroup.'s'][$esecvalue];//联动枚举名显示 by烈火大地

继续搜索代码:

return $GLOBALS['em_'.$egroup.'s'][$erevalue].' -- '.$GLOBALS['em_'.$egroup.'s'][$evalue];

替换为如下代码:

return $GLOBALS['em_'.$egroup.'s'][$evalue];//联动枚举名显示 by烈火大地

这样调出来的数据中就只有最后一级筛选的字段名称了。

(责任编辑:陆柏熺)
评价:
用户名: 验证码: 看不清?点击更换


关注站长自媒体 获取更多优质内容

  • 百家号
    百家号
  • 头条号
    头条号
  • 企鹅号
    企鹅号

2019-2021 ©巅峰霸主网 京ICP备12023415号-2
返回
顶部