导读:我今天遇到了跟楼主一样的问题。 我有个解决的办法,在phpcms libs functions extention func php(自定义函数文件)中定义一个方法代码如下
我今天遇到了跟楼主一样的问题。 我有个解决的办法,在phpcms\libs\functions\extention.func.php(自定义函数文件)中定义一个方法
代码如下
- /**
- * 获取选项的格式化输出
- * @param str $field 字段名称 必须
- * @param int $value 字段值 必须
- * @param int $modelid 模型ID 必须
- * 2014-09-28 by awen
- */
- function get_box($field, $value,$modelid) {
- $fields = getcache('model_field_'.$modelid,'model');
- extract(string2array($fields[$field]['setting']));
- if($outputtype) {
- return $value;
- } else {
- $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;
- }
- }
复制代码
这个是照内容输出页面的原理弄出来的,是系统的实现方式,安全可靠,只是把原来的、号分隔改成了空格,也可以加一个标签之类的,可以自己改。
前台使用
第一个是你的字段名称,第二个是你字段的值,就是输出的1、2、3,第三个是你所使用的模型iD
如楼盘特色字段名为‘lpts’,字段值为$r[lpts]这是loop循环得到的变量也可以是一个指定的你定义的值,第三个15是楼盘模型的ID
{get_box('lpts',$r[lpts],15)} |