【问题标题】:I lose my bootstrap styles when passing variable (get) to route->Controller->View in Laravel 5.4在 Laravel 5.4 中将变量(get)传递给 route->Controller->View 时,我失去了引导样式
【发布时间】:2020-05-23 06:26:52
【问题描述】:

在 Laravel 5.4 中将变量 (get) 传递给 route->Controller->View 时,我失去了引导样式。 这是我的代码-

header.blade.php->
<a href="{{URL::to( '/news/'.$v_all_published_category->id )}}">

    web.php->
    Route::get('/news/{id}', 'NewsController@view_news');

    NewsController.php->
    public function view_news($id) {
            $category_info = Category::where('publication_status', 1)->get();
            $category_product = Product::where('id', $id)->get();
            $data = array();
            $data['header_content'] = view('Front_End.includes.header', ['all_published_category' => $category_info]);
            $data['home_slider']= view('Front_End.slider.home_slider');
            $data['main_content'] = view('Front_End.category.category_content', ['category_product' => $category_product]);
            $data['footer_content']= view('Front_End.includes.footer');
            return view('Front_End.master')->with($data);
        }

【问题讨论】:

    标签: laravel-5


    【解决方案1】:

    @爱德华帕伦

        <!DOCTYPE html>
    <html>
        <head>
            <title>NewsFeed</title>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/bootstrap.min.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/font-awesome.min.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/animate.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/font.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/li-scroller.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/slick.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/jquery.fancybox.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/theme.css')}}">
            <link rel="stylesheet" type="text/css" href="{{ asset('page_assets/assets/css/style.css')}}">
    
        </head>
        <body>
    
            <a class="scrollToTop" href="#"><i class="fa fa-angle-up"></i></a>
            <div class="container">
    
                @yield('header_content')
    
                @yield('slider')
    
                @yield('main_content')
    
                @yield('footer_content')
            </div>
            {{ Html::script('page_assets/assets/js/jquery.min.js') }}
            {{ Html::script('page_assets/assets/js/wow.min.js') }}
            {{ Html::script('page_assets/assets/js/bootstrap.min.js') }}
            {{ Html::script('page_assets/assets/js/bootstrap.min.jss') }}
            {{ Html::script('page_assets/assets/js/jquery.li-scroller.1.0.js') }}
            {{ Html::script('page_assets/assets/js/jquery.newsTicker.min.js') }}
            {{ Html::script('page_assets/assets/js/jquery.fancybox.pack.js') }}
            {{ Html::script('page_asset`enter code here`s/assets/js/custom.js') }}
        </body>
    </html>
    

    【讨论】:

      【解决方案2】:

      您是否尝试过使用刀片助手标签?

      当 URL 中的目录级别更改时,找不到样式。您应该使用 Laravel 提供的帮助程序来生成完整的 URL。

      尝试将它像这样集成到 app.blade.php 文件中:

      assets()

      <link href="{{ asset('assets/css/bootstrap.min.css') }}" rel="stylesheet">
      

      甚至是创建完整链接标签的助手:

      {{ HTML::style('assets/css/bootstrap.min.css') }}
      

      (还有一个用于 javascript 文件的)

      {{ HTML::script('assets/js/script.js') }}
      

      您可以在此链接中作为此问题的参考:

      I lose my bootstrap styles when passing variable (get) to route->Controller->View in Laravel 4

      【讨论】:

      • 谢谢..你的建议解决了一半的问题..现在css可以工作,但javascript不能工作。我的 composer.jsn 文件包括“laravelcollective/html”:“5.4.*”,别名包括表单和 html 外观。提供者包括 Collective\Html\HtmlServiceProvider::class,我不明白为什么它不起作用?
      • 好的,你可以显示你引用css和js文件的文件。
      • 请看下一个答案
      • 好的,试试这样{{assets('page_assets/assets/js/jquery.min.js') }} 和其他链接。
      • 如果您使用表单或 HTML 帮助程序,您将看到一个错误,指出未找到类“表单”或未找到类“Html”。 Laravel 5.0 中已弃用 Form 和 HTML 助手;但是,有一些社区驱动的替代品,例如由 Laravel Collective 维护的替代品。 You can check the documentation for more detail here.
      【解决方案3】:

      我经常使用的一种解决方案和方法。

      <link href="{{ asset('assets/css/bootstrap.min.css') }}" rel="stylesheet">
      

      你可以包含 CSS 和 JS 文件,你可以直接把它们放在 public/css 或 public/js 文件夹中,然后用asset()函数从布局中链接它们:

      【讨论】:

        猜你喜欢
        • 2015-02-12
        • 2018-01-26
        • 1970-01-01
        • 2018-07-23
        • 1970-01-01
        • 1970-01-01
        • 2017-11-09
        • 2015-01-27
        • 2014-01-05
        相关资源
        最近更新 更多