网站地图    收藏   

主页 > 后端 > phpcmsv9 >

phpcms 后台添加多选字段后前台调用方法

来源:未知    时间:2015-05-12 09:28 作者:xxadmin 阅读:

[导读] phpcms v9之所以如此受欢迎就是因为它强大的字段功能,后台模型内容任由自己改,是目前最好的二次开发的开源cms,今日有朋友在论坛上提问:在后台添加了多选字段,前台调用的时候显示的...

phpcms v9之所以如此受欢迎就是因为它强大的字段功能,后台模型内容任由自己改,是目前最好的二次开发的开源cms,今日有朋友在论坛上提问:在后台添加了多选字段,前台调用的时候显示的是后面的1或者2,不显示前面的值

找到文件 /phpcms/libs/function/extention.func.php,打开文件添加以下代码:

  1. * 根据box类型字段获取显示名称 
  2. * @param $field 字段名称 
  3. * @param $value 字段值 
  4. * @param $modelid 字段所在模型id 
  5. function box($field$value$modelid='') { 
  6.         $fields = getcache('model_field_'.$modelid,'model'); 
  7.         extract(string2array($fields[$field]['setting'])); 
  8.         $options = explode("\n",$fields[$field]['options']); 
  9.         foreach($options as $_k) { 
  10.                 $v = explode("|",$_k); 
  11.                 $k = trim($v[1]); 
  12.                 $option[$k] = $v[0]; 
  13.         } 
  14.         $string = ''
  15.         switch($fields[$field]['boxtype']) { 
  16.                         case 'radio'
  17.                                 $string = $option[$value]; 
  18.                         break
  19.                         case 'checkbox'
  20.                                 $value_arr = explode(',',$value); 
  21.                                 foreach($value_arr as $_v) { 
  22.                                         if($_v$string .= $option[$_v].' 、'
  23.                                 } 
  24.                         break
  25.  
  26.                         case 'select'
  27.                                 $string = $option[$value]; 
  28.                         break;  //phpfensi.com 
  29.  
  30.                         case 'multiple'
  31.                                 $value_arr = explode(',',$value); 
  32.                                 foreach($value_arr as $_v) { 
  33.                                         if($_v$string .= $option[$_v].' 、'
  34.                                 } 
  35.                         break
  36.                 } 
  37.                         return $string

这样就可以了,前台调用该字段的时候使用{box('fenlei',$r[fenlei],$modelid)}.

 

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论