如何获得css和脚本的绝对路径

时间:2013-02-25 18:58:31

标签: cakephp-2.0

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

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

提供网址

<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" />

1 个答案:

答案 0 :(得分: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));?>