菜单
展开边栏 收起边栏

phpcms v9 box类型输出选项名称无效解决办法

要用到box涵数,调用方法如下:
{box('fenlei',$r[fenlei],$modelid)}

fenlei 为实例中的自定字段名称
前提你在使用BOX函数前必须要安装信息模块
如果不想安装那么就自己增加一下BOX函数放到这个文件里就可以:extention.func.php
phpcms\libs\functions\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)}

Copyright © 2008-. JiangFei.net all rights reserved 苏ICP备18062911号