首先,如果没有显示联动选项的话,请您先阅读《DedeCms自定义表单中联动类型不可用的解决方法》
下面我们讨论DedeCms自定义表单联动类型只显示枚举值的问题,本文的解决方法适用于DedeCms5.5、5.6,其它版本没有测试。
相对于上面的方法,解决以下问题:
1、有多少个自定义的模板,建立多少个diy_list’.$diyid.’.htm,很不灵活
2、每个自定义表单只能建一个联动类型
UTF-8的懒人可以下载附件:diy_list.rar,直接替换,diy_list.htm文件替换到dedetemplets下。
修改方法:
1.在”后台目录”templetsdiy_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]; } } } ?>
修改完毕。
需要注意的是:添加新字段时候,表单提示文字必须和联动的组类别名一致,比如我要添加一个表单提示文字是“课程”,那么新增类别组的时候 类别名也要填写“课程”
© 版权声明
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
THE END
请登录后查看评论内容