由于帝國CMS沒插件API,所以在做帝國CMS二次開發的時候特別容易出現系統升級,文件管理混亂等麻煩,trylife總結出一些帝國CMS二次開發注意事項與大家分享下:
1.不在原系統中更改不會出現漏洞的插件建議都獨立來做 ,不在原系統中更改;比如今天的AJAX登陸、注冊、下載,不用AJAX也一樣能登陸注冊和下載并且用戶即使找到了老的登陸連接,老的注冊地址,老的下載地址,也不會出現漏洞;
2.如果不更改原系統文件就會出現漏洞,那么也不要在原文件中一片一片的寫代碼,把代碼都寫到自己文件里,以函數為單位,把文件引用到適當位置把函數插入到要更改的地方并且加上注釋;今天碰巧看到一位仁兄做的都是一大片一大片的代碼插入,本來整潔的e/DoInfo/ecms.php一片狼藉.以后會多麻煩~
3.有些文件系統會重新生成的,代碼不要手寫到這些文件里;大家都知道e/class/config.php是配置文件(ecms7.0版本為e/config/config.php),里面有整站參數設置,模型信息等,經常會更新,也沒有人向這里手寫代碼;
e/data/dbcache/class.php(欄目和專題緩存文件,默認引用了欄目緩存 e/data/dbcache/class1.php 專題緩存e/data/dbcache/ztclass.php )上次一個朋友把文件引到這里,因為欄目緩存基本是全站引用的捎帶著就把自己定義的文件引進去了,而且又是一個僻靜的角落,當時trylife也覺得這地方引用文件還不錯又干凈又僻靜;今天想起來仔細一看這個文件也是系統會更新的,建立超過250個欄目就有class2.php出現了(代碼可以參看e/class/functions.php的GetClass()函數);
4.自己創建的文件不要亂放;目前為止trylife使用的目錄結構如下:
e/trylife/common/ 放置常用的JQuery js插件 自己常用的PHP函數文件
e/trylife/插件1英文目錄名/ js php html等此插件獨有必須的文件
e/trylife/插件2英文目錄名/
e/trylife/插件3英文目錄名/
………
e/trylife/插件n英文目錄名/
新聞熱點
疑難解答