2011-11-15 28 views
0

我設置了其他路徑的自定義路徑後遇到了一些問題,只要我將文件夾添加到主題目錄中,就會遇到一些問題。應用:構建和主題文件夾

其他路徑中的視圖不會覆蓋默認路徑中的視圖,並且在額外的主題路徑中添加的主題文件夾會嘗試加載錯誤的CSS。

我現在的結構:

- App (Custom paths) 
-- Controller 
-- Model 
-- Plugin 
-- View 
--- Themed 
---- Admin * 
- Swish (Actual APP directory) 
- ... 

*這個目錄會導致佈局與錯誤的CSS的位置呈現:如css/style.css,而不是/theme/Admin/css/style.css

管理文件夾打破了佈局CSS和JS路徑,也App/View/Themed/Admin/*意見不覆蓋Swish/View/Themed/Admin/*

基本上我想要做的是有一個默認的應用程序,我可以使用添加我可能添加的自定義事物的路徑,我需要在單個項目中更改的東西等。

任何幫助,非常感謝。

回答

0

首先,檢查文件夾/目錄權限...然後...

您是否使用CakePHP 2?看起來你可能是。實際上,我開發的應用程序的主題爲Admin,位於/ app/View/Themed/Admin。若要包括CSS文件(S),我使用的HTML幫助,所以它們包括像這樣:

echo $this->Html->css('admin.main'); 

,這是從位於內/app/View/Themed/Admin/elements元素調用,並且CSS文件位於/app/View/Themed/Admin/webroot/css。這是你目前的設置嗎?我知道這只是真正處理您帖子中的第一個問題。至於你的第二點,這可能是一個htaccess的問題?據我所知,所有特定於應用程序的文件都需要位於/ app(即:/home/user/htdocs/app)中,而爲了在多個應用程序中共享Cake庫,插件,供應商等,可以放置非應用程序目錄在doc根之上,即/home/user/lib,/home/user/plugins,/home/user/vendors

希望這可以幫助一些。

d

+0

這並沒有解決我的問題,但它讓我得出的結論是,額外路徑中的主題文件夾需要app目錄中主題文件夾的完整webroot副本。有點愚蠢。它試圖從App/View/Themed/Admin/webroot/css獲取css,並且因爲它不存在,所以它會嘗試從Swish/webroot/css而不是Swish/View/Themed/Admin/Webroot公司/ CSS。 CakePHP的錯誤? –

1

我很好奇,如果您的應用主題與附加路徑主題碰撞,因爲他們都是所謂的「管理」。

有幾件事你可以檢查。

  1. App類允許您打印出它使用尋找各種類的路徑: App::path('View')顯示所有,它會用來尋找意見,比如路徑。
  2. 還有一個特別的用於尋找主題。在從API的話:

App::themePath('purple')會給完整路徑紫色 主題。

http://api20.cakephp.org/view_source/app#line-341

這表明,我認爲它只會返回一個路徑,一個主題,一個給定的名字,可能是你的問題,更多的類路徑的原因。

+0

問題是嘗試在附加路徑中的主題文件夾的webroot中加載css的蛋糕,我認爲它會加載實際應用程序目錄中的css,如果css不存在於其他路徑中 - 就像它會與視圖,控制器等拖動整個webroot到額外的路徑工作,但它不是我正在尋找的解決方案。不過,我需要將它自定義爲將css和js文件結合起來,因此我只需在那裏進行檢查。感謝您的迴應。 –