风风cms改进

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 ;
}


你可能感兴趣的:(风风cms改进)