html表单怎么添加地区,织梦自定义表单添加地区联动显示数字解决办法(支持三级)...

我们在开发自定义表单时,有的时候,需要使用到联动联系的字段.尤其是调用地区的联动.但是在织梦自定义表单添加默认是没有字段为联动类型的选择.岛主做了一下二次开发,让自定义表单支持选择地区后,显示的地区名称..开发方法

1,让织梦自定义表单,可添加联动类型的字段.

打开 dede/templets/diy_field_add.htm 文件,找到;

修改为;

联动类型

同样,打开 dede/templets/diy_field_edit.htm 文件,找到;Checkbox多选框

在其 下面 添加如下代码联动类型

2,在回到自定义表单,添加关键词,发现联动类型可选了.这里以地区联动为例如下图;

20190324_5c979bd7d0641.png

3,点击确定,保存即可,然后就是前台的调用,发现调用出来显示的是数字,而不是具体的地区的名称.解决地区联动调用显示数字的方法

打开 找到dede/templets/diy_list.htm文件中,找到else if($fielddata[1]=='addon')

{

$fields[$field] = "channeladd.gif 其它附件";

}

在其 下面 添加如下代码else if($fielddata[1]=='stepselect')

{

$fields[$field] = Getenums("{$fields[$field]}",'nativeplace');

}

继续在该文件中,找到

在其 下面 添加如下代码<?php

function Getenums($evalue=0,$egroup)

{

if( !isset($GLOBALS['em_'.$egroup.'s']) )

{

$cachefile = DEDEDATA.'/enums/'.$egroup.'.php';

if(!file_exists($cachefile))

{

require_once(DEDEINC.'/enums.func.php');

WriteEnumsCache();

}

if(!file_exists($cachefile))

{

return '';

}

else

{

require_once($cachefile);

}

}

if($evalue>=500)

{

if($evalue % 500 == 0)

{

return (isset($GLOBALS['em_'.$egroup.'s'][$evalue]) ? $GLOBALS['em_'.$egroup.'s'][$evalue] : '');

}

else if (preg_match("#([0-9]{1,})/.([0-9]{1,})#", $evalue, $matchs))

{

$esonvalue = $matchs[1];

$etopvalue = $esonvalue - ($esonvalue % 500);

$esecvalue = str_replace(".00",".",$evalue);

$GLOBALS['em_'.$egroup.'s'][$etopvalue] = empty($GLOBALS['em_'.$egroup.'s'][$etopvalue])? ''

: $GLOBALS['em_'.$egroup.'s'][$etopvalue];

$GLOBALS['em_'.$egroup.'s'][$esonvalue] = empty($GLOBALS['em_'.$egroup.'s'][$esonvalue])? ''

: $GLOBALS['em_'.$egroup.'s'][$esonvalue];

$GLOBALS['em_'.$egroup.'s'][$esecvalue] = empty($GLOBALS['em_'.$egroup.'s'][$esecvalue])? ''

: $GLOBALS['em_'.$egroup.'s'][$esecvalue];

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

}

else

{

$elimit = $evalue % 500;

$erevalue = $evalue - $elimit;

$GLOBALS['em_'.$egroup.'s'][$erevalue] = empty($GLOBALS['em_'.$egroup.'s'][$erevalue])? ''

: $GLOBALS['em_'.$egroup.'s'][$erevalue];

$GLOBALS['em_'.$egroup.'s'][$evalue] = empty($GLOBALS['em_'.$egroup.'s'][$evalue])? ''

: $GLOBALS['em_'.$egroup.'s'][$evalue];

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

}

}

}

?>

完成.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>