有没有办法让 CakePHP 的 css 方法发出相对于当前文档的路径?
即,使用此代码:
$this->Html->css('tutorial');
而不是生成
<link rel="stylesheet" type="text/css" href="/Tutorial/css/tutorial.css" />
相反,它会产生类似的东西
<link rel="stylesheet" type="text/css" href="../../css/tutorial.css" />
我知道这很愚蠢,但我正在寻找可以使用 wget 检索,然后离线查看的东西。我已经告诉 CakePHP 处理 .html 扩展名(使用 Router::parseExtensions('html');),然后设置到控制器/动作的路由,看起来像静态 HTML 文件的目录结构。我正在寻找一种生成与页面相关的 URL 的方法,这样当我保存文件(使用 wget)时,它们在从硬盘驱动器读取时仍然可以工作。
正如 thaJeztah 在下面指出的,这在 CakePHP 中是不可能的。因为 CakePHP 将 URL 抽象地映射到控制器和动作,它实际上不再有任何“提供文件”的概念(除了在 /pages/subdirs 等中),所以对 CakePHP 唯一有意义的是提供一个 URL从根目录开始,一直到 .CSS 文件。(非常感谢 thaJeztah 指出这一点!)