在Laravel的刀片模板中链接CSS / JS

时间:2015-10-22 00:30:00

标签: javascript php html css laravel-5

我之前注意到,当我向路线添加参数时,这打破了我的观点,因为它似乎改变了我的CSS和JS文件的链接。经过几个小时的尝试让HTML包在Laravel 5.1中工作,我终于放弃了,并因为Composer问题而放弃了。

我选择采用简单的路线然后直接将它们连接起来,但我现在正努力让这个工作起作用。

<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/metismenu.min.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/sb-admin-2.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/font-awesome.min.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/datatables.bootstrap.css">
<link type="text/css" rel="stylesheet" href="{{ public_path() }}/assets/css/datatables.responsive.css">

它不是链接到本地​​文件,而是将整个字符串附加到我的基本URL并尝试链接到明显错误的字符串。

当前链接:

http://domain.com/home/roster/laravel/public/assets/css/bootstrap.min.css 

正确链接:

http://domain.com/assets/css/bootstrap.min.css

只需链接到&#34; /assets/css/bootstrap.min.css"工作正常,直到我添加路由参数。如果没有对整个网址进行硬编码,我该怎么办?

2 个答案:

答案 0 :(得分:1)

试试这个

<link href="<?php echo URL::asset('css/app.css'); ?>" rel="stylesheet" type="text/css">

我相信这会解决你的问题

另一种解决方案:

<link type="text/css" rel="stylesheet" href="{{ URL::to('/') }}/assets/css/bootstrap.min.css">

答案 1 :(得分:0)

非常罕见。我正在使用L5.1并且与HTML包一起看起来很好。请记住。需要以下包裹:

"illuminate/html": "~5.0@dev"

然后运行composer update。安装软件包后,编辑config/app.php添加提供程序:

 'Illuminate\Html\HtmlServiceProvider',

外观:

'HTML' => 'Illuminate\Html\HtmlFacade'

现在,让我们看一些显示资产链接的解决方案:

  • 使用html facade

    {!! HTML::style('assets/css/bootstrap.min.css') !!}
    
  • 使用原始代码调用url()函数:

    <link type="text/css" rel="stylesheet" href="{{ url('assets/css/bootstrap.min.css') }}">
    
  • 使用原始代码调用URL facade:

    <link type="text/css" rel="stylesheet" href="{{ URL::to('assets/css/bootstrap.min.css') }}">
    
  

请注意,不要使用public_path(),因为它会返回绝对目录路径,如/var/www/html/laravel而不是网址。