我遇到了一些问题,在为其他路径设置自定义路径后,我在主题目录中添加一个文件夹时遇到了一些问题。
附加路径中的视图不会覆盖默认路径中的视图,并且在附加主题路径中添加的主题文件夹会尝试加载错误的css。
我的当前结构:
- App (Custom paths)
-- Controller
-- Model
-- Plugin
-- View
--- Themed
---- Admin *
- Swish (Actual APP directory)
- ...
*此目录将导致布局以错误的css位置呈现:例如css/style.css
而不是/theme/Admin/css/style.css
Admin文件夹破坏布局CSS和JS路径,App/View/Themed/Admin/*
中的视图也不覆盖Swish/View/Themed/Admin/*
中的视图
基本上我想做的是有一个默认的应用程序,我可以使用额外的路径自定义的东西,我可能会添加,我需要改变的东西在一个单一的项目,等等。
我很好奇你的应用内主题是否与附加路径主题相冲突,因为它们都被称为"Admin"。
有几件事你可以检查一下。
-
App
类允许你打印出它用来查找各种类的路径:App::path('View')
显示了它用来查找视图的所有路径。 - 也有一个特殊的寻找主题。用API的话说:
App::themePath('purple')
将给出紫色的完整路径主题。
http://api20.cakephp.org/view_source/app线- 341
这对我来说,它只会返回一个给定名称的主题的路径,这可能是您使用其他类路径时出现问题的原因。
首先,检查文件夹/目录权限…然后…
你正在使用Cakephp 2吗?看起来你可能是。我实际上是开发一个应用程序与主题dir管理,位于/app/View/themes/Admin。为了包含CSS文件,我使用html helper,所以像这样包含它们:
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库,插件,供应商等,非/app目录可以放在doc根目录(即/home/user/lib
, /home/user/plugins
, /home/user/vendors
)之上。
希望能有所帮助。
D