联动类型,在自定义表单中不可用的原因

原因是官方模板文件中注释掉了相关选项,修改方式如下:

需要修改两个文件,
第一个:dede/templets/diy_field_edit.htm 124行 官方把 “<option value=”stepselect”>联动类型</option–>”这句给注释掉了,取消注释。
第二个:dede/templets/diy_field_add.htm 145 行 官方把“<div class=’nw’><input type=’radio’ class=’np’ name=’dtype’ id=’dtype16′ value=”stepselect”>联动类型</div> ”这句给注释了,取消注释。

改好后,保存就ok了!

当然,你在添加自定义表单中的字段时,数据类型一定要选择“联动类型”!

 

DEDECMS自定义表单联动类型只显示枚举值的问题

 

相对于上面的方法,解决以下问题:
1、有多少个自定义的模板,建立多少个diy_list’.$diyid.’.htm,很不灵活
2、每个自定义表单只能建一个联动类型

diy_list.htm文件替换到dedetemplets 

下面是修改方法:
1.在”后台目录”templetsdiy_list.htm找到(大约在41行):

  1. $fields[$field] = “<a href='{$fields[$field]}’ target=’_blank’><img src=’p_w_picpath/channeladd.gif’ border=’0′ /> 其它附件</a>”;
  2.             }

在下面加入:

  1. //联动类型显示修正开始
  2.             else if($fielddata[1]==’stepselect’)
  3.             {
  4.                 $db->Execute(‘me’,”SELECT * FROM `dede_stepselect` WHERE itemname='{$fielddata[0]}'”);
  5.                 while($arr = $db->GetArray(me))
  6.                 {
  7.                     $egroup = $arr[‘egroup’];
  8.                 }
  9.                 $fields[$field] = Getenums(“{$fields[$field]}”,$egroup);
  10.             }
  11.             //联动类型显示修正结束

2.找到:

  1. {/dede:datalist}

在下面加入:

  1. <?php
  2. function Getenums($evalue=0,$egroup)
  3. {
  4.     if( !isset($GLOBALS[‘em_’.$egroup.’s’]) )
  5.     {
  6.         $cachefile = DEDEDATA.’/enums/’.$egroup.’.php';
  7.         if(!file_exists($cachefile))
  8.         {
  9.             require_once(DEDEINC.’/enums.func.php’);
  10.             WriteEnumsCache();
  11.         }
  12.         if(!file_exists($cachefile))
  13.         {
  14.             return ”;
  15.         }
  16.         else
  17.         {
  18.             require_once($cachefile);
  19.         }
  20.     }
  21.     if($evalue>=500)
  22.     {
  23.         if($evalue % 500 == 0)
  24.         {
  25.             return (isset($GLOBALS[‘em_’.$egroup.’s’][$evalue]) ? $GLOBALS[‘em_’.$egroup.’s’][$evalue] : ”);
  26.         }
  27.         else if (preg_match(“#([0-9]{1,}).([0-9]{1,})#”, $evalue, $matchs))
  28.         {
  29.             $esonvalue = $matchs[1];
  30.             $etopvalue = $esonvalue – ($esonvalue % 500);
  31.             $esecvalue = $evalue;
  32.             $GLOBALS[‘em_’.$egroup.’s’][$etopvalue] = empty($GLOBALS[‘em_’.$egroup.’s’][$etopvalue])? ”
  33.                                                      : $GLOBALS[‘em_’.$egroup.’s’][$etopvalue];
  34.             $GLOBALS[‘em_’.$egroup.’s’][$esonvalue] = empty($GLOBALS[‘em_’.$egroup.’s’][$esonvalue])? ”
  35.                                                      : $GLOBALS[‘em_’.$egroup.’s’][$esonvalue];
  36.             $GLOBALS[‘em_’.$egroup.’s’][$esecvalue] = empty($GLOBALS[‘em_’.$egroup.’s’][$esecvalue])? ”
  37.                                                      : $GLOBALS[‘em_’.$egroup.’s’][$esecvalue];
  38.             return $GLOBALS[‘em_’.$egroup.’s’][$etopvalue].’ – ‘.$GLOBALS[‘em_’.$egroup.’s’][$esonvalue].’ – ‘.$GLOBALS[‘em_’.$egroup.’s’][$esecvalue];
  39.         }
  40.         else
  41.         {
  42.             $elimit = $evalue % 500;
  43.             $erevalue = $evalue – $elimit;
  44.             $GLOBALS[‘em_’.$egroup.’s’][$erevalue] = empty($GLOBALS[‘em_’.$egroup.’s’][$erevalue])? ”
  45.                                                      : $GLOBALS[‘em_’.$egroup.’s’][$erevalue];
  46.             $GLOBALS[‘em_’.$egroup.’s’][$evalue] = empty($GLOBALS[‘em_’.$egroup.’s’][$evalue])? ”
  47.                                                      : $GLOBALS[‘em_’.$egroup.’s’][$evalue];
  48.             return $GLOBALS[‘em_’.$egroup.’s’][$erevalue].’ – ‘.$GLOBALS[‘em_’.$egroup.’s’][$evalue];
  49.         }
  50.     }
  51. }
  52. ?>

修改完毕。

需要注意的是:添加新字段时候,表单提示文字必须和联动的组类别名一致,比如我要添加一个表单提示文字是“课程”,那么新增类别组的时候 类别名也要填写“课程”

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除! 联动

相关文档推荐

织梦在任意标签中调用系统基本参数的办法 我们在使用dedecms建站的时候,有时候需要在标签中调用系统基本参数中的变量,这样要怎么操作呢? 举个很简答的例子,我在系统基本参数中定义了一个电话和邮箱的变量,分别为:cfg_tel 和cfg_email 我需要在arclist标签中进行调用,写法如下: {dede:arclist dedecms提示用户名不存在是什么原因造成的 我们在登录织梦cms后台时候,提示你的用户名不存在,这种情况要怎么处理呢? 1、首先排查下你的用户名是不是你输入的。这个可以利用phpmyadmin,Navicat for MySQL工具,找到 dede_admin 这个默认的表,看下如下字段是不是和您输入的一致。 2、排查下安装之 织梦在自定义表单中获取提交者的IP地址信息 有时候我们需要在自定义表单中获取访问者的ip地址信息,那么要怎么实现呢? 1、首先我们在后台自定义表单中建立一个字段为:uip 2、在自定义表单中的写法如下,把uip这个字段作为隐藏字段: input type=hidden name=uip id=uip value=script type=text/javas 织梦dedecms在模板页面中实现会员登录退出状态显示 很多会员朋友在制作带会员中心的模板文件时候,当我们点击登录后,织梦默认是跳转到会员中心的,但在我们返回网站主页时,发现header没有显示会员登录信息,却在原始位置显示了登录信息,这是因为我们没有设置登录后的显示的位置及会员信息的调用。 因此我们 自定义表单列表编辑内容联动地区显示为数字 解决方法 打开 dedetempletsdiy_edit_content.htm 找到 ?php$formfields = ;foreach($fieldlist as $field=$fielddata){$allowhtml = array(htmltext);if($row[$field]==) continue;if($fielddata[1]==img){$row[$field] = input name=photo type=file / dedecms织梦自定义表单内容列表编辑联动地区显示为数字的解决方法 解决方法 打开 dedetempletsdiy_edit_content.htm 找到 ?php$formfields = ;foreach($fieldlist as $field=$fielddata){$allowhtml = array(htmltext);if($row[$field]==) continue;if($fielddata[1]==img){$row[$field] = input name=photo type=file / 织梦安装使用织梦二次开发织梦优化织梦标签dedecms教程织梦安全 织梦资讯网 织梦模板 dede 外语学校 织梦鬼故事 竞价网站源码 竞价培训网 门户网站 织梦二次开发 织梦笑话网 dedecms笑话网 织梦源码 网站建设 搞笑图片 织梦教程 旅游网站源码 织梦旅游网 学校培训 html5 企业织梦源码 医院源码 后台样式 移动营销页 整形医院 大学医院 新手建站 客服代码 洗衣机维修 企业网站 淘宝客 导航菜单 教育网站 学校源码 装修网站 装修模板 美容整形 女性健康 妈妈网 机械源码 建站公司 珠宝首饰 苹果网站 手机资讯 美女图片 织梦模版打包 妇科源码 安卓市场源码 男性时尚网 健康之家 app应用网站 笑话网站 下载站 美女图片网 中医院网站 家装网站源码 QQ网站 标牌网站 魔兽世界网 淘宝客源码 YY网站源码 别墅设计网站 服装搭配网 宝宝起名网 站长网站 婚庆网站 脑科医院源码 笑话源码 肝胆医院 意外怀孕源码 工作室
本文关键词:

联系我们

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

邮件:w420220301@qq.com