后台可以自由添加字段,但是前台默认显示的格式是固定的,但你可以对它做进一步的个性处理,如下图所示。 ![](https://img.kancloud.cn/b8/32/b832644812836180bbd49bf652b5424b_852x479.png) 如下图所示,你可以对模板进行字段的个性化处理 ![](https://img.kancloud.cn/0d/3a/0d3a010fa8c2fb7cce08fb3c950d2d66_1694x516.png) 图中涉及到的代码如下 ``` {qb:showpage field="title,content,picurl,telphone,maps,rooms_buju"} <li><span>{title}:</span>{value}</li> {/qb:showpage} <li><span>室内布局:</span>{$info.rooms_buju}</li> <li><span>室内布局:</span> {volist name=":str_array(get_field(2)['rooms_buju']['options'])" id="name" key="k"} <i style="color:{$k==$info._rooms_buju?'red':''}">{$name}</i>、 {/volist} </li> <li><span>配套设施:</span> {volist name=":str_array(get_field(2)['peitao']['options'])" id="name" key="k"} <i style="color:{:in_array($k,str_array($info[_peitao]))?'red':''}">{$name}</i>、 {/volist} </li> ``` 其中`field="title,content,picurl,telphone,maps,rooms_buju"` 这个参数是为了禁止哪些字段自动显示出来,避免重复显示。 `<li><span>室内布局:</span>{$info.rooms_buju}</li>` 这个是直接显示,不做特殊处理。仅只是做了位置的调整处理而已 > 下面这段代码,是对单选项的特殊化显示处理。为了实现把所有选项都列出来,而对选中项实现加红突出显示的目的。注意当中的自定义字段名是 `rooms_buju` 对应换成你自己的。 ``` {volist name=":str_array(get_field(2)['rooms_buju']['options'])" id="name" key="k"} <i style="color:{$k==$info._rooms_buju?'red':''}">{$name}</i>、 {/volist} ``` > 下面这段代码,是对多选项的特殊化显示处理。为了实现把所有选项都列出来,而对选中项实现加红突出显示的目的。注意当中的自定义字段名是 `peitao` 对应换成你自己的。 ``` {volist name=":str_array(get_field(2)['peitao']['options'])" id="name" key="k"} <i style="color:{:in_array($k,str_array($info._peitao))?'red':''}">{$name}</i>、 {/volist} ``` > 最后,特别要提醒一下,在判断当中用到变量名前面加了一个前缀下画线,比如 `{$k==$info._rooms_buju?'red':''}`当中的 `$info._rooms_buju` 注意并不是 `$info.rooms_buju` 。又比如 `{:in_array($k,str_array($info._peitao))?'red':''}` 当中的 `$info._peitao`注意并不是 `$info.peitao` 。他们都分别在字段名前面加了一个下画线。这代表是取原始数值,而不是转义后显示出来的数值。 ***** 上面仅仅是对单选 与 多选项的特殊处理。他们获取的原始循环数组都用到了 `str_array` 函数。其它字段,比如二级,三维数组的话,有点不一样。就用另外的 `json_decode` ,比如 ``` {volist name=":json_decode(get_field(2)['xxxxxaaaaaaa']['options'],true)" id="rs"} {/volist} ``` 最后重点再提醒一下,其中的 `get_field(2)` 代表获取模型二的内容