最近做的东西比较杂,从Android开发到iOS苹果手机上的APP开发, 再到Web后台, 忙的没时间写博客。 这几天需要用到Web的OA系统,公司舍不得花钱买, 只能找个现成的框架自己做开发。 所以找到了这个天生创想的OA系统, 基于其框架做二次开发。
天生创想这个OA总体架构还算可以, 以前做过UCHome的二次开发, UCHome的代码结构要比这个天生创想的代码好很多,不过那是个SNS系统,不是OA。
天生创想的系统设置里可以添加自定义菜单, 但是功能还不够完善, 单纯通过编辑器功能添加了菜单后, 还有一些地方涉及到源码级的修改。
本人做个记录, 希望对研究天生创想源码的童鞋有点用处, 就不枉费我写这篇博客了。
先在"系统设置"->"菜单设置” 里添加你要设置的菜单。
菜单的url设置后有参数 ac 和 fileurl。
比如ac=show & fileurl=kq
在 admin.php 文件里,有下面的代码:
require_once('include/function_'.$fileurl.'.php');
if ( file_exists(ADMIN_ROOT."mod_{$ac}.php") ) {
require_once(ADMIN_ROOT.'mod_'.$ac.'.php');
} else {
exit;
}
所以得在include文件夹下面添加一个文件 function_kq.php 文件。
然后添加 kq 文件夹, 里面建立 mod_data.php文件
在 kq 文件夹下面建立文件夹 template ,在template 文件夹下建立 data.php 文件。
其中 mod_data.php 文件为处理业务逻辑的文件,提供数据。
data.php 文件为处理界面UI的模板文件,提供视图,进行人机交互。
另外在mod_data.php 文件 里有下面的代码需要修改 :
$num = $db->result("SELECT COUNT(*) AS num FROM ".DB_TABLEPRE."user a,".DB_TABLEPRE."user_view b WHERE a.id=b.uid $wheresql"); $sql = "SELECT * FROM ".DB_TABLEPRE."user a,".DB_TABLEPRE."user_view b WHERE a.id=b.uid $wheresql ORDER BY a.numbers ASC LIMIT $offset, $pagesize"; $result = $db->fetch_all($sql); include_once('template/data.php'); } elseif ($do == '删 除') {
里面的 include_once('template/data.php'); 需要修改。
这样你添加的菜单就可以点击打开了。。。