最近做的東西比較雜,從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'); 需要修改。
這樣你添加的菜單就可以點擊開啟了。。。