DEDECMS自定义表单中地区联动显示的解决办法!

很多朋友都遇到了DEDECMS自定义表单中地区二级联动后,调用联动字段时只显示地区代码如:


13003其实是贵州省遵义市的系统联动类编号,
要让其显示成贵州省遵义市其实也比较容易。
需要动3个文件。
第一个是根目录plus/diy.php。
第二个是上一个php对应的模板文件更目录下templates/plus/view_diyform.htm和list_diyform.htm(两个模板文件改法一样)。
提醒一下注意备份要修改的这几个文件。
现在开始了对于diy.php打开后找到elseif($action == 'list')这一行,再在它的下边找到

include_once DEDEINC.'/datalistcp.class.php';下面加入
 include_once(DEDEDATA.'/enums/nativeplace.php');
 include_once(DEDEINC."/enums.func.php");

这样两个,
同样找到elseif($action == 'view')这一行,也在

include_once DEDEINC.'/datalistcp.class.php';下加入上边的红色两句
详细代码如下

elseif($action == 'list')
{
 if(empty($diy->public))
 {
  showMsg('后台关闭前台浏览', 'javascript:;');
  exit();
 }
 include_once DEDEINC.'/datalistcp.class.php';
 include_once(DEDEDATA.'/enums/nativeplace.php');
 include_once(DEDEINC."/enums.func.php");
 if($diy->public == 2)
 {
  $query = "select * from `{$diy->table}` order by id desc";
 }
 else
 {
  $query = "select * from `{$diy->table}` where ifcheck=1 order by id desc";
 }
 $datalist = new DataListCP();
 $datalist->pageSize = 10;
 $datalist->SetParameter('action', 'list');
 $datalist->SetParameter('diyid', $diyid);
 $datalist->SetTemplate(DEDEINC."/../templets/plus/{$diy->listTemplate}");
 $datalist->SetSource($query);
 $fieldlist = $diy->getFieldList();
 $datalist->Display();
}

//list部分完

 

elseif($action == 'view')
{
 if(empty($diy->public))
 {
  showMsg('后台关闭前台浏览' , 'javascript:;');
  exit();
 }

 if(empty($id))
 {
  showMsg('非法操作!未指定id', 'javascript:;');
  exit();
 }
 include_once DEDEINC.'/datalistcp.class.php';
 include_once(DEDEDATA.'/enums/nativeplace.php');
 include_once(DEDEINC."/enums.func.php");
 if($diy->public == 2)
 {
  $query = "select * from {$diy->table} where id='$id' ";
 }
 else
 {
  $query = "select * from {$diy->table} where id='$id' and ifcheck=1";
 }
 $row = $dsql->getone($query);
 if(!is_array($row))
 {
  showmsg('你访问的记录不存在或未经审核', '-1');
  exit();
 }

 $fieldlist = $diy->getFieldList();

 include DEDEROOT."/templets/plus/{$diy->viewTemplate}";
}
?>

//view部分完

然后打开view_diyform.htm
找到<table class='listtable' cellspacing="1">一行
把下一行还是的到</table>之间的

<?php
echo '<tbody>';
echo '<tr><td bgcolor="#eeeeee" width="20%">id</td><td bgcolor="#eeeeee">'.$row['id'].'</td></tr>';
$allowhtml = array('htmltext');
foreach($fieldlist as $field=>$fielddata)
{
 if($row[$field]=='') continue;
 if($fielddata[1]=='img')
 {
   $row[$field] = "<a href='{$row[$field]}' target='_blank'><img src='{$row[$field]}'/></a>rn";
 }
 else if($fielddata[1]=='addon')
 {
   $row[$field] = "<a href='{$row[$field]}' target='_blank'><img src='img/addon.gif' border='0' /> 相关附件</a>";
 }
 else
 {
  if(!in_array($fielddata[1], $allowhtml))
  {
   $row[$field] = htmlspecialchars($row[$field]);
  }
 }
 echo '<tr><td bgcolor="#ffffff">'.$fielddata[0].'</td><td bgcolor="#ffffff">'.$row[$field].'</td></tr>';
}
echo '</tbody>';
?>

(也就是将那部分php代码)都删除掉,然后将下面的代码加进去。
<tbody>
<tr><td bgcolor="#eeeeee" width="20%">id</td><td bgcolor="#eeeeee"><?php echo $row['id']; ?></td></tr>
<tr><td bgcolor="#eeeeee" width="20%">生日</td><td bgcolor="#eeeeee"><?php echo $row['shengri']; ?></td></tr>
          <tr>
            <td>目前所在地:</td>
            <td> 省份:
              <?php
   $places = GetEnumsTypes($row['nativeplace']);
   echo ( isset($em_nativeplaces[$places['top']]) ?  $em_nativeplaces[$places['top']] : '');
    ?>
              &nbsp; 城市:
              <?php
    echo ( isset($em_nativeplaces[$places['son']]) ?  $em_nativeplaces[$places['son']] : '');
    ?></td>
          </tr>
</tbody>

效果请看



  list_diyform.htm的改法类似。自己参照更改。
这里要说的是有人会问,替换完了就是地区一项了怎么办?
你自定义表单里的其他项参照这个一行复制就行了<tr><td bgcolor="#eeeeee" width="20%">id</td><td bgcolor="#eeeeee"><?php echo $row['id']; ?></td></tr>
其中红色的id可替换成你的其他字段的中文名,蓝色id替换成字段对应的数据库中的字段名(一定是英文或这拼音,这个不用我多说了吧!)。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除! 联动

相关文档推荐

dedecms织梦tag增加属性分类及调用 dedecms织梦默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag=c,h),这样全站调用的时候更灵活。 全站调用TAG标签方法一般是: {dede:tag row='100' sort='new' getall='1'}a target="_blank 织梦模板DEDECMS不显示未审核tag标签文档的的方法 未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 这样对用户体验是很不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。 方法一 打 织梦DEDECMS后台文件管理器、模板文件、缩略图排序修改 我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp dedecms软件模型手动指定地址增加选取本地文件方法 我们在用到织梦dedecms软件模型的时候,手动指定地址通常只能是引用其他网址或者链接,我们要实现直接选取站内的文件,这个要怎么操作呢?下面小编一步步为您解答,最终效果如下图所示: 实现教程 1、打开 /dede/templets/soft_add.htm 找到 input type=text dedecms织梦批量修改文章点击量 我们有时候需要对织梦文档的点击量进行批量维护,比如采集来的文章,点击量都为0,需要批量修改,可以用到如下方法1。 1、在数据库里运行下面的代码就可以了,文章的点击量变得随机从500到1000 UPDATE dede_archives SET click=FLOOR(500 + (RAND() * 1000)) 织梦dedecms后台系统基本参数中增加logo上传功能 用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy 织梦安装使用织梦二次开发织梦优化织梦标签dedecms教程织梦安全 织梦资讯网 织梦模板 dede 外语学校 织梦鬼故事 竞价网站源码 竞价培训网 门户网站 织梦二次开发 织梦笑话网 dedecms笑话网 织梦源码 网站建设 搞笑图片 织梦教程 旅游网站源码 织梦旅游网 学校培训 html5 企业织梦源码 医院源码 后台样式 移动营销页 整形医院 大学医院 新手建站 客服代码 洗衣机维修 企业网站 淘宝客 导航菜单 教育网站 学校源码 装修网站 装修模板 美容整形 女性健康 妈妈网 机械源码 建站公司 珠宝首饰 苹果网站 手机资讯 美女图片 织梦模版打包 妇科源码 安卓市场源码 男性时尚网 健康之家 app应用网站 笑话网站 下载站 美女图片网 中医院网站 家装网站源码 QQ网站 标牌网站 魔兽世界网 淘宝客源码 YY网站源码 别墅设计网站 服装搭配网 宝宝起名网 站长网站 婚庆网站 脑科医院源码 笑话源码 肝胆医院 意外怀孕源码 工作室
本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com