2011-11-15 39 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文件结合起来,因此我只需在那里进行检查。感谢您的回应。 –