老版
適用開源版16.5、企業版6.5、旗艦版3.0以下

對應模塊ext資料夾下module/task/ext/。擴展config.php:在ext下建config資料夾,在congfig下建檔案比如test.php。
擴展控制器方法create():在ext下建control資料夾,在control下建檔案create.php,自己寫一個create方法。
繼承原來的方法

- 擴展css,建一個css目錄,擴展創建頁面的css檔案,在css目錄下再建一個create目錄,建檔案test.css;
- 擴展js,類似css;
- 擴展語言項目錄,類似建lang/zh-cn/test.php,新的會覆蓋老的;
- 擴展model,類似control,但是不需要引入檔案。
- 加載模塊control檔案時,先判斷有沒有被擴展過,如果擴展過,則引入擴展下的檔案;
- 實現程式碼在setActionExtFile()方法中。

擴展view下的檔案,ext下新建view資料夾,直接複製原檔案,比如create.html.php檔案,注意修改引入路徑(要多一層)。

整個ext擴展目錄結構是這樣式的

新的:

擴展機制實現原理:control擴展機制。


model擴展機制
同一個模塊下的所有model擴展檔案會被加載到tmp/model下運行。類名叫ext模塊名Model,如extadminModel,有直接擴展和通過鉤子擴展兩種。

鉤子擴展:
ext/model/hook下建檔案將鉤子檔案下寫的追加到tmp/model下檔案相應方法的頭部

view擴展機制(完全覆蓋+鉤子檔案擴展,有擴展檔案就引入擴展檔案)在這個檔下:

這個方法實現的。

注意:檔名和目錄名要小寫,control方法檔名與方法名要一致,擴展view檔案時要注意include路徑要變化