首页 > CMS > PhpCMS > 正文

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

2024-09-10 07:16:23
字体:
来源:转载
供稿:网友

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;  //Vevb.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)}.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表