转自品略图书馆:http://www.pinlue.com/article/2020/03/0400/509978179517.html
hpcms v9之所以如此受欢迎就是因为它强大的字段功能,后台模型内容任由自己改,是目前最好的二次开发的开源cms,今日有朋友在论坛上提问:在后台添加了多选字段,前台调用的时候显示的是后面的1或者2,不显示前面的值
今天在这里告诉大家怎么调用对应的值
找到文件 /phpcms/libs/function/extention.func.php,打开文件添加以下代码:
/**
* 根据box类型字段获取显示名称
* @param $field 字段名称
* @param $value 字段值
* @param $modelid 字段所在模型id
*/
function box($field, $value, $modelid="") {
$fields = getcache("model_field_".$modelid,"model");
extract(string2array($fields[$field]["setting"]));
$options = explode("\n",$fields[$field]["options"]);
foreach($options as $_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_arr as $_v) {
if($_v) $string .= $option[$_v]." 、";
}
break;
case "select":
$string = $option[$value];
break;
case "multiple":
$value_arr = explode(",",$value);
foreach($value_arr as $_v) {
if($_v) $string .= $option[$_v]." 、";
}
break;
}
return $string;
}
这样就可以了,前台调用该字段的时候使用{box("fenlei",$r[fenlei],$modelid)} /*feilei为多选字段*/