phpcms v9之所以如此受欢迎就是因为它强大的字段功能,后台模型内容任由自己改,是目前最好的二次开发的开源cms,今日有朋友在论坛上提问:在后台添加了多选字段,前台调用的时候显示的是后面的1或者2,不显示前面的值
找到文件 /phpcms/libs/function/extention.func.php,打开文件添加以下代码:
- *根据box类型字段获取显示名称
- *@param$field字段名称
- *@param$value字段值
- *@param$modelid字段所在模型id
- functionbox($field,$value,$modelid=''){
- $fields=getcache('model_field_'.$modelid,'model');
- extract(string2array($fields[$field]['setting']));
- $options=explode("\n",$fields[$field]['options']);
- foreach($optionsas$_k){
- $v=explode("|",$_k);
- $k=trim($v[1]);
- $option[$k]=$v[0];
- }
- $string='';
- switch($fields[$field]['boxtype']){
- case'radio':
- $string=$option[$value];
- break;
- case'checkbox':
- $value_arr=explode(',',$value);
- foreach($value_arras$_v){
- if($_v)$string.=$option[$_v].'、';
- }
- break;
- case'select':
- $string=$option[$value];
- break;//www.phpcms.vip
- case'multiple':
- $value_arr=explode(',',$value);
- foreach($value_arras$_v){
- if($_v)$string.=$option[$_v].'、';
- }
- break;
- }
- return$string;
- }
这样就可以了,前台调用该字段的时候使用{box('fenlei',$r[fenlei],$modelid)}.