我如何在Laravel中公开访问变量

时间:2019-05-28 04:54:01

标签: php html css laravel model-view-controller

我在Laravel中有一个项目,我想在index.blade中显示数据库中的文章

所以在Controller中,我得到了文章并将其保存在变量中 问题是这样的:该文章的图像不在index.blade中,而是在公共目录中的CSS中,因此如何使用已从数据库中获得的图像来更改它?在我的CSS文件中,您可以看到该图片作为网址

Contorller

 public function home(Request $request)
{
    $headerIntroduction=Category::where('name','معرفی کسب و کار')->get()->first()->articles()->get()->values()[1];


    return view('app.index',compact('headerIntroduction'));

css

#slider-section, #home-section{
background-image:url(../../images/app/slider/1.jpg);
background-repeat:no-repeat;
background-size:cover;
background-color:#282f1f;
position:relative;
color:#fff;
padding: 130px 0;

}

2 个答案:

答案 0 :(得分:2)

只有在谈论视图部件时,才能在Laravel刀片服务器模板中使用变量。因此,无法在CSS文件中使用此变量。

如果您仍要使用它。然后,您必须使用需要在<style>css</style>文件(或任何刀片文件)中的样式标签(index.blade.php,通常称为内联css)中使用变量的样式。

我假设图像 1.jpg 文件来自您的article,那么为什么不使用下面的代码。

<style>
 .backgroundclass
 {
  background-image:url(../../images/app/slider/{{your-article-variable}});
  background-repeat:no-repeat;
  background-size:cover;
  background-color:#282f1f;
  position:relative;
  color:#fff;
  padding: 130px 0;
  }
</style>

答案 1 :(得分:1)

您应该在balde文件中包含用于beackground-image的CSS。

<style>
#slider-section, #home-section{
background-image:url({{$headerIntroduction->image}});
background-repeat:no-repeat;
background-size:cover;
background-color:#282f1f;
position:relative;
color:#fff;
padding: 130px 0;
}
</style>

图像是数据库表中列的名称。