index控制器中的index操作

index.php类初始化以后,默认执行indexOp()操作:

public function indexOp(){   //输出管理员信息   Tpl::output(‘admin_info‘,$this->getAdminInfo());  //getAdminInfo()继承于父类SystemControl   //输出菜单   $this->getNav(‘‘,$top_nav,$left_nav,$map_nav);  //获取菜单,在公共方法中   Tpl::output(‘top_nav‘,$top_nav);   Tpl::output(‘left_nav‘,$left_nav);   Tpl::output(‘map_nav‘,$map_nav);   Tpl::showpage(‘index‘,‘index_layout‘);}
protected final function getNav($permission = ‘‘,&$top_nav,&$left_nav,&$map_nav){

   $act = $_GET[‘act‘]?$_GET[‘act‘]:$_POST[‘act‘];   $op = $_GET[‘op‘]?$_GET[‘op‘]:$_POST[‘op‘];   if ($this->admin_info[‘sp‘] != 1 && empty($this->permission)){      $gadmin = Model(‘gadmin‘)->getby_gid($this->admin_info[‘gid‘]);      $permission = decrypt($gadmin[‘limits‘],MD5_KEY.md5($gadmin[‘gname‘]));      $this->permission = $permission = explode(‘|‘,$permission);   }   Language::read(‘common‘);   $lang = Language::getLangContent();   $array = require(BASE_PATH.‘/include/menu.php‘);   $array = $this->parseMenu($array);   //管理地图   $map_nav = $array[‘left‘];   unset($map_nav[0]);//unset()销毁变量

   $model_nav = "<li><a class=\"link actived\" id=\"nav__nav_\" href=\"javascript:;\" onclick=\"openItem(‘_args_‘);\"><span>_text_</span></a></li>\n";   $top_nav = ‘‘;

   //顶部菜单   foreach ($array[‘top‘] as $k=>$v) {      $v[‘nav‘] = $v[‘args‘];      $top_nav .= str_ireplace(array(‘_args_‘,‘_text_‘,‘_nav_‘),$v,$model_nav);   }   $top_nav = str_ireplace("\n<li><a class=\"link actived\"","\n<li><a class=\"link\"",$top_nav);

   //左侧菜单   $model_nav = "         <ul id=\"sort__nav_\">           <li>             <dl>               <dd>                 <ol>                   list_body                 </ol>               </dd>             </dl>           </li>         </ul>\n";   $left_nav = ‘‘;   foreach ($array[‘left‘] as $k=>$v) {      $left_nav .= str_ireplace(array(‘_nav_‘),array($v[‘nav‘]),$model_nav);      $model_list = "<li nc_type=‘_pkey_‘><a href=\"JavaScript:void(0);\" name=\"item__opact_\" id=\"item__opact_\" onclick=\"openItem(‘_args_‘);\">_text_</a></li>";      $tmp_list = ‘‘;

      $current_parent = ‘‘;//当前父级key

      foreach ($v[‘list‘] as $key=>$value) {         $model_list_parent = ‘‘;         $args = explode(‘,‘,$value[‘args‘]);         if ($admin_array[‘admin_is_super‘] != 1){            if ([email protected]_array($args[1],$permission)){            }         }

         if (!empty($value[‘parent‘])){            if (empty($current_parent) || $current_parent != $value[‘parent‘]){               $model_list_parent = "<li nc_type=‘parentli‘ dataparam=‘{$value[‘parent‘]}‘><dt>{$value[‘parenttext‘]}</dt><dd style=‘display:block;‘></dd></li>";            }            $current_parent = $value[‘parent‘];         }

         $value[‘op‘] = $args[0];         $value[‘act‘] = $args[1];         //str_ireplace()使用一个字符串替换字符串中的另一些字符,对大小写敏感的搜索  str_replace(find,replace,string,count)         $tmp_list .= str_ireplace(array(‘_args_‘,‘_text_‘,‘_opact_‘,‘_pkey_‘),array($value[‘args‘],$value[‘text‘],$value[‘op‘].$value[‘act‘],$value[‘parent‘]),$model_list_parent.$model_list);      }

      $left_nav = str_replace(‘list_body‘,$tmp_list,$left_nav);

   }}
时间: 2024-11-05 02:43:50

index控制器中的index操作的相关文章

ASP.NET MVC 表单提交多层子级实体集合数据到控制器中

于遇到了项目中实体类嵌套多层子级实体集合,并且子级实体集合的数据需要提交保存到数据库中的问题.针对此情况需要进行一些特殊的处理才可以将整个 实体类及子级实体集合数据提交表单到控制器中,解决的方法是根据MVC视图中表单的命名规则来设置正确的子级实体集合所属的表单控件name属性,从而来 获取提交的集合数据. 在说明如何将表单中实体的子级实体集合数据提交到控制器中的问题前,我们需要了解MVC的对于数组和列表集合的表单提交方式(点击此链接进行查看). 定义多层嵌套实体和假设场景 首先我们根据情况进行分

AngularJS最佳实践: 请小心使用 ng-repeat 中的 $index

"有客户投诉,说在删除指定的某条记录时,结果删掉的却是另外一条记录!" 看起来是个很严重的BUG. 有一次我们在工作中碰到了这个问题. 要定位这个BUG非常麻烦, 因为客户也不清楚如何重现这个问题. 后来发现这个Bug是由于在 ng-repeat 中使用了 $index 引发的.下面一起来看看这个错误是如何引发的, 以及如何避免这种bug产生,然后说说我们从中得到的经验和教训. 一个简单动作(action)的列表 先来看看一个完整有效的ng-repeat示例. <ul ng-co

请小心使用 ng-repeat 中的 $index

一个简单动作(action)的列表 先来看看一个完整有效的ng-repeat示例. <ul ng-controller="ListCtrl"> <li ng-repeat="item in items"> {{item.name}} <button ng-click="remove($index)">remove</button> </li> </ul> 对应的控制器(con

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

去掉 URL 中的 index.php ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来. .htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置.我们可以利用 .htaccess 文件的 Rewrite 规则来隐藏掉 ThinkPHP URL 中的 in

Handlebars.js循环中索引(@index)使用技巧(访问父级索引)

使用Handlebars.js过程中,难免会使用循环,比如构造数据表格.而使用循环,又经常会用到索引,也就是获取当前循环到第几次了,一般会以这个为序号显示在页面上. Handlebars.js中获取循环索引很简单,只需在循环中使用{{@index}}即可. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <META http-equiv=Content-Type content="text/html; charset=utf-

修改apache配置文件去除thinkphp url中的index.php(转)

例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index.php呢? 1.httpd.conf配置文件中加载了mod_rewrite.so模块  //在APACHE里面去配置 复制代码代码如下: #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.AllowOverride None 讲N

struts2中&lt;welcome-file&gt;index.action&lt;/welcome-file&gt;直接设置action,404的解决方案

这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题.将web.xml文件中<welcome-file>index.action</welcome-file>修改成这样,访问首页时报404错误,也就是说文件找不到.上网查了有两种解决方法.     方法一.在WebRoot下新建一个index.action空文件,这个方法简单实用,强烈推荐.    方法二.因为 welcome-file 必须是实际存在的文件,不能是action或者servlet路径你可以设置一个

执行计划中常见index访问方式(转)

近期有朋友对于单个表上的index各种情况比较模糊,这里对于单个表上,单个index出现的大多数情况进行了总结性测试,给出了测试结果,至于为什么出现这样的试验结果未做过多解释,给读者留下思考的空间.本篇文章仅仅是为了测试hint对index的影响,而不是说明走各种index方式的好坏.参考: INDEX FULL SCAN vs INDEX FAST FULL SCAN创建表模拟测试 SQL> create table t_xifenfei as select object_id,object_

修改apache配置文件去除thinkphp url中的index.php

例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index.php呢? 1.httpd.conf配置文件中加载了mod_rewrite.so模块  //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.AllowOverride None 讲None改为 All