0

如何获取样式表或 javascript 文件的绝对路径。

<?php echo $this->Html->css('/css/main.css');?>

正在给出 URL

<link rel="stylesheet" type="text/css" href="/dev/theme/Default/css/main.css" />

我正在寻找

<link rel="stylesheet" type="text/css" href="http://localhost/dev/theme/Default/css/main.css" />
4

1 回答 1

4

我真的很想知道如果 CSS 文件与您的网站在同一个域上提供,您为什么要这样做,但这可能会起作用;

<?php echo $this->Html->css($this->Html->url('/css/main.css', true));?>

HtmlHelper::url() (继承自 Helper::url() 有两个参数。第一个是作为字符串或数组的路径(使用 cakephp 路由),如果布尔值“true”作为其第二个参数传递,会生成一个“完整”的 URL。

我现在不在我的电脑前,所以无法测试它,但我认为它应该可以工作。

更新

我快速浏览了源代码:https ://github.com/cakephp/cakephp/blob/master/lib/Cake/View/Helper/HtmlHelper.php#L431

并且 HtmlHelper::css() 在内部使用 Helper::assetUrl() ;

https://github.com/cakephp/cakephp/blob/master/lib/Cake/View/Helper.php#L305

所以这可能也有效,如果有效,这是一个更清洁的解决方案:

<?php echo $this->Html->css('main', null, array('fullBase' => true));?>
于 2013-02-25T23:30:22.417 回答