2012-12-10 40 views
0

我正在研究在CodeIgniter之上構建我自己的CMS /擴展框架,我想知道如何構造它以使代碼不在application文件夾中。我注意到,在一個典型的CI設置,文件結構如下所示:如何將自定義代碼添加到CodeIgniter的「系統」文件夾中?

application/ //code for your application 
system/   //CodeIgniter core 
index.php 

然而,在PyroCMS,他們使用的結構如下:

application/ //code for your application 
system/ 
--cms/   //PyroCMS core 
--codeigniter/ //CodeIgniter core. 

如何達到類似的結果?

回答

1

,以仿真結構只需編輯index.php文件常量:

  • APPPATH
  • 基本路徑

@WebweaverD具有爲您提供一個很好的解決方案,以提高應用程序usgin HMVC。我會給你另一個。

怎麼是這樣的:

-system/  //CI core 
-index.php  //manage the front_end requests 
-acp.php  //manage the back_end requests 
-apps/  //applications dir 
--back_end/  //only "admin" controllers, libraries, config. No views here 
--frond_end/  //only "user" controllers, libraries, config. No views here 
--acp/  //views for back_end 
--themes/  //views for front_end 

以上所有可以根據需要只延長了必要的核心文件來實現。

1

簡短的回答是,一切從index.php開始,這是核心/ CodeIgniter.php被包括在內的地方,它也是設置應用程序和系統路徑(從配置中檢索值)的地方。

我認爲pyro cms實際上將/ system/cms設置爲應用程序文件夾,據推測他們已經編寫了代碼來查看所呈現的應用程序文件夾中的內容並對其進行處理。

另一種方法是wiredesigns模塊化HMVC使用:

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

這將允許你對你的代碼進行分成模塊。只需要一個名爲cms的文件夾,其中包含所有的cms模塊,另一個文件夾用於在上面構建自定義內容。

您在config中設置模塊文件夾的路徑,所以如果您希望在系統文件夾中使用cms代碼,您可以在此處設置模塊文件夾路徑並使用codeigniter以標準方式構建頂層,掛載控制器之前或之後的鉤子調用cms核心。

0

我只是一個建議,但你可以很容易叉火雞和建立你自己的CMS。 PyroCMS將在下一個版本中棄用codeigniter,以便您可以保留其代碼並將其修復到需要的位置並根據需要進行修改

相關問題