词条信息

admin
admin
超级管理员
词条创建者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> DEDECMS   

dedecms自定义表单增加联动类型只显示枚举值

标签: dedecms

顶[0] 发表评论(0) 编辑词条

  dedecms V5.7自定义表单增加联动类型只显示枚举值的解决方法:

  织梦官方在自定义表单中把联动类型加了注释的,那么我们现在把注释删除就可以使用了,找到:

  /dede/templets/diy_field_add.htm

  /dede/templets/diy_field_edit.htm



  把注释掉的联动选项给恢复。然后在自定义表单里增加字段,填写联动名,,前台就可以用了。

  还有一个就是,这样做出来的联动前台和后台都只显示枚举值,,很烦人,我在网上找到方法,如下:

  1.在"后台目录"\templets\diy_list.htm找到(大约在41行):

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

  在下面加入:

//联动类型显示修正开始 
else if($fielddata[1]=='stepselect') 
{ 
$db->Execute('me',"SELECT * FROM `dede_stepselect` WHERE itemname='{$fielddata[0]}'"); 
while($arr = $db->GetArray(me)) 
{ 
$egroup = $arr['egroup']; 
} 
$fields[$field] = Getenums("{$fields[$field]}",$egroup); 
} 
//联动类型显示修正结束 



  2.找到:

  {/dede:datalist}

  在下面加入:

<?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 = $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]; 
} 
} 
} 
?> 


修改完毕。

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

 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇Dedecms自定义联动表单不能用
下一篇dedecms如何创建和调用自定义字段

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>