2019独角兽企业重金招聘Python工程师标准>>>
1在模型中添加多选或者单选后生成搜索选项
/*
* 获取搜索项
*/
public function getsearch($modelid){
import('Field',INCLUDE_PATH);
if($modelid == 2 || $modelid ==3){
$_mField = D('ModelField');
$search_data = $_mField->field('field,name,formtype,setting')->where("`modelid`='{$modelid}' AND (`field`='proroom' OR `field`='protype' OR `field`='prostyle') AND `systype`<>'2' AND `status`='1' ")->order(' `sort` ASC')->findAll();
if($search_data){
foreach ($search_data as $k=>$v){
$search_data[$k]['setting'] = eval ( "return {$v['setting']};" );
$search_data[$k]['setting']['option'] = explode("\n",$search_data[$k]['setting']['option']);
foreach($search_data[$k]['setting']['option'] as $opk=>$opv){
$search_data[$k]['setting']['option'][$opk] = substr($opv,strpos($opv,"|")+1);
}
}
$this->assign('search_data',$search_data);
}
}
}
2在IIS下的路径重写
iis地址重写需要把front/common/common.php中的以下函数替换成:
/**
* 分析当前的访问地址,查找出对应的栏目以及控制器
* @param
*/
function parse_module () {
$var_module = C('VAR_MODULE');
$var_action = C('VAR_ACTION');
//去掉 "/xxx/index.php/"
$php_self = safe_replace($_SERVER['PHP_SELF']);
//$query_script = substr($php_self,strlen(__ROOT__) + 11);
//修改时间 2011-11-1 mark ,用于url带参数效果。
$query_script = substr($_SERVER['REQUEST_URI'],strlen(__ROOT__)+1);
$query_script = str_replace('index.php/','',$query_script);
//$query_script = str_replace(__ROOT__.'/','',$query_script);
$query_script = str_replace('//','/',$query_script);
$url_suffix = C('URL_HTML_SUFFIX');
if (!empty($query_script) && $query_script!=('index'.$url_suffix) ) {
if (strpos($query_script,'/')) { //分析url取得栏目文件夹名称,根据文件夹文件查找所属分类
$param = explode('/',$query_script);
} else {
$param[0] = $query_script;
}
array_remove_empty($param);
$_category = D ('Category');
//$param[0] 为栏目文件夹名称
if (substr($param[0],-strlen($url_suffix)) == $url_suffix) { //根据$param查找栏目ID(单页)
//检查 $param[0]中是否有分页分隔符 "_",如果有,则去掉分页数字以及前面的 '_' ,得到栏目的正确url
if (strpos($param[0],'_')) {
$page_param = explode('_',$param[0]);
$page = str_replace($url_suffix,'',array_pop($page_param));
if (is_numeric($page) && $page>0) {
$caturl = str_replace('_'.$page,'',$param[0]);
}
} else {
$caturl = &$param[0];
}
$category_data = $_category->field("`catid`")->where("`url`='{$caturl}' AND `type`<>'link'")->find();
$param = '';
$request_file = $query_script; //请求的文件地址
} else { //根据catdir查找栏目ID
$category_data = $_category->field("`catid`")->where("`catdir`='{$param[0]}'")->find();
array_shift($param);
if (strpos($query_script,$url_suffix)) {
if (__ROOT__ == '') { //根目录
$request_file = substr($_SERVER['REQUEST_URI'] ,1); //请求的文件地址
} else { //非根目录
$request_file = substr($_SERVER['REQUEST_URI'],strlen(__ROOT__)+1); //请求的文件地址
}
} else {
$request_file =
rtrim(substr($_SERVER['REQUEST_URI'],strlen(__ROOT__)+1),'/'). '/index' .
$url_suffix; //请求的文件地址
}
}
$request_file = str_replace('index.php/','',$request_file);
define('CATID',$category_data['catid'] ? $category_data['catid'] : 0);
$category_data = F ('category_'.$category_data['catid']);
if ($category_data['controller']) {
$_POST[$var_module] = $category_data['controller'];
$_GET[$var_module] = $category_data['controller'];
} else { //栏目不存在,载入路由设置进行分析
Dispatcher::dispatch();
}
C('CREATE_HTML',(boolean)$category_data['ishtml']);
} else {
$_POST[$var_module] = 'Findex';
$_GET[$var_module] = 'Findex';
$request_file = 'index' . $url_suffix; //请求的文件地址 ,首页
}
$request_file = str_replace('//','/',$request_file);
define('REQUEST_FILE',$request_file);
return ;
}