bow*_*rae 8 themes assets cakephp cakephp-2.2
我已经看到很多关于链接到CakePHP中的主题资产的问题,但没有一个问题解决了我的问题,最近的帖子也是在2012年,所以我想我会把我的问题浮出水面.
我在CakePHP 2.2.4应用程序中实现了主题.我的主题名为"默认"(之前称为"默认",直到1分钟前)位于app/View/Themed/default(之前主题名称也有相应的大写字母D作为文件夹名称).
我的css文件位于app/View/Themed/default/webroot/css/style.css我app/View/Themed/default/Layouts/default.ctp用以下代码调用的位置
Default.ctp布局
echo $this->Html->css('style');
Run Code Online (Sandbox Code Playgroud)
(我已尝试将大写W用于webroot"以防万一",但毫无意外的是没有用)
我在AppController中包含了这个链接,以确定我正在使用的主题.所有视图文件都指向正确的主题,但现在的问题是样式表(我还没有弄乱其他资产,如js或图像文件).
AppController的
class AppController extends Controller {
public $theme = 'default'; // previously 'Default'
// also, have used both 'public $theme' and 'var $theme', no difference
Run Code Online (Sandbox Code Playgroud)
我已经阅读了以下问题,但没有一个"解决方案"有效.大多数解决方案是检查拼写/大写,检查文件夹的权限,检查我的.htaccess文件等.仍然没有.还有新想法?
的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
主题webroot和css文件夹的文件夹权限是755.
这是我用过的一些资源,没有运气.
http://book.cakephp.org/2.0/en/views/themes.html
无法在cakephp的Themes webroot文件夹中获取css和图像文件
https://groups.google.com/forum/#!topic/cake-php/xaRAugMoNSc
https://groups.google.com/forum/#!topic/cake-php/siYVWchUb1g
更新:使用$this->Html->image('image.jpg')正确显示位于的定义图像View/Themed/Default/webroot/img/image.jpg.但是,使用$this->Html->css('style')try来app/webroot/css/style.css从而不是从中拉出样式表app/View/Themed/Default/webroot/css/style.css.我还必须将我的主题的主题名称和文件夹名称更改为"默认",并使用大写的D以使图像正确链接.样式表仍然无法正确链接.如果我在浏览器中直接导航到我的主题样式表,则会出现一个空白页面.如果我导航到我的主题文件夹中不存在的样式表,那么我会收到正确的错误消息.但是,查看我的主题样式表(确实存在的样式表)的来源会显示一个空白页面.
好吧,也许这很明显......但我的样式表使用我在自定义助手中创建的函数。当样式表位于 中时app/webroot/css,没有问题,但是当样式表位于 中时,app/View/Themed/Default/webroot/css它无法正确显示,因此 Cake 链接到应该位于 中的不存在的样式表app/webroot/css。我已从主题样式表中删除了助手,现在一切正常。
我还将主题名称从“默认”恢复为“默认”,以便图像能够正确显示$this->Html->image(可能还有样式表和 JS 文件),即使视图文件已正确链接(无论大小写如何)。
| 归档时间: |
|
| 查看次数: |
2775 次 |
| 最近记录: |