当前位置: 首页 > news >正文

风风cms改进

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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


转载于:https://my.oschina.net/jiangchike/blog/295139

相关文章:

  • 人工智能浪潮已至,李开复指出入局AI的四种方式
  • [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • spring用注解配置,不用XML
  • 在项目中导入import javax.servlet 出错解决办法
  • notepad++中emmet插件的使用
  • python 线程,GIL 和 ctypes
  • 【转】CentOS 7. #215; 系统及内核升级指南
  • DNS
  • 函数指针的用法
  • HW2017笔试编程题
  • Flex定时任务设置组件
  • 关于集合的size的操作
  • 理清文件编码,告别中文乱码
  • sublime text3简体中文版汉化教程
  • CAS(客户端)程序获取安全证书
  • “大数据应用场景”之隔壁老王(连载四)
  • 「译」Node.js Streams 基础
  • 【Amaple教程】5. 插件
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 30天自制操作系统-2
  • Ruby 2.x 源代码分析:扩展 概述
  • 前端知识点整理(待续)
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 微信小程序开发问题汇总
  • ​Linux·i2c驱动架构​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • $().each和$.each的区别
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (三)mysql_MYSQL(三)
  • (十)T检验-第一部分
  • (原創) 物件導向與老子思想 (OO)
  • (转)C#调用WebService 基础
  • (转)linux 命令大全
  • (转)Linux整合apache和tomcat构建Web服务器
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net 受管制代码
  • .NET正则基础之——正则委托
  • ??myeclipse+tomcat
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [android] 练习PopupWindow实现对话框
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [C#C++]类CLASS
  • [C++]高精度 bign (重载运算符版本)
  • [Java并发编程实战] 共享对象之可见性
  • [JS7] 显示从0到99的100个数字
  • [Luogu 2816]宋荣子搭积木
  • [OPEN SQL] 修改数据
  • [poj 2001]Shortest Prefixes [Trie]
  • [python]使用pyqt5搭建yolov8 竹签计数一次性筷子计数系统
  • [React]全自动数据表格组件——BodeGrid
  • [RK-Linux] RK3399支持M.2 NVMe SSD启动
  • [Spark][Python][RDD][DataFrame]从 RDD 构造 DataFrame 例子
  • [World Wind学习]22.相机高度和瓦片等级计算
  • [导入]对于adapter模式的类示配模式的java和c#的语法比较