前些天,寝室一朋友给我拿了一道ECSHOP的面试题,当时的我对商派EXSHOP还是有所了解的,于是答应帮他看看。但是一直都没时间做,等到昨天中午的时候才加紧看了一下源码,代码封装的还算不错的,结果前端页面样式弄好了但是功能没有得到实现。但是答应了别人的事还是的做好,于是到了晚上给加班弄好了。 例子是一个在ECSHOP 后台权限管理列表页面增加一个用户名和email邮箱搜索条件,并在列表下端显示分页效果。如下图所示。
实现原理如下:
修改模板
在修改安装目录upload/admin/templates文件夹下面的privilege_list.htm中的smarty模板页面第6行增加如下代码:
修改第38行代码为
修改脚本js
找到页面下端的javascript中literal代码段,将其修改为如下代码:
上面的方法 想必不用解释了吧,也就是获取到标记中的内容。这里有很多种方式的,但是为了整体一致,我还是采用源码中的方式进行。
修改控制器
在修改安装目录upload/admin/文件夹下面的privilege.php中找到$_REQUEST[‘act’]==’list’并修改为如下代码:
找到$_REQUEST[‘act’]==’query’并修改为如下代码:
这里是处理刚才javascript代码提交过来的数据,在这个判断结构中修改了原有的代码,需要传递的参数有用户列表数据分页数据等等。 所以我们将这些信息整合成数组形式传递过去使用。使用方法user_list()整个所有数据到数组中,下面介绍。 第四步:在页面末尾处增加一个方法
上面这个方法整合了通过条件查询时的数据结果和一些分页信息。具体实现可以根据上面代码分析。上述功能就是对这次面试题的代码量。终于做完。睡觉!!!
(The End)