如何在页脚中显示图像?

时间:2019-12-19 08:17:34

标签: laravel

我已将徽标存储在数据库中,并希望将其显示在@include('layouts.footer')中包含的页脚中。我正在使用此代码从数据库中获取图像

 public function show(){
        $logo = DB::table('logos')->get();
        return view('layouts.footer',['logo'=>$logo]);
 }

我想使用

在页脚中显示这些图像
    <div class="footer">
       @foreach($logo as $l)
          {{ $l->company_name}}
          {{ $l->company_logo}}
       @endforeach
    <p class="footer-text">&copy; Copyright <?php echo date("Y"); ?> Hotel Store Partners</p>
</div>

,但返回错误“未定义的变量徽标”。 在页脚中显示图像的正确方法是什么?

4 个答案:

答案 0 :(得分:1)

尝试使用 View Composer
在您的AppserviceProvider boot方法中,您可以收集这些名称并一次传递给所有视图
Reference

答案 1 :(得分:0)

请放置image标签

<div class="footer">
  @foreach($logo as $l)
   {{ $l->company_name}}
   <img src="{{ url('public/your path/'.$l->company_logo) }}" class="image_preview" width="auto" height="150px">
  @endforeach
<p class="footer-text">&copy; Copyright <?php echo date("Y"); ?> Hotel Store Partners</p>
</div>

答案 2 :(得分:0)

有两种方法可以实现此目的: 1.将此代码放在页脚中。

@php
   $logo = DB::table('logos')->get();
@endphp
<div class="footer">
  @if(count($logo))
   @foreach($logo as $l)
      {{ $l->company_name}}
      {{ $l->company_logo}}
   @endforeach
  @endif
   <p class="footer-text">&copy; Copyright <?php echo date("Y"); ?> Hotel Store Partners</p>
</div>

但是这种方法是不好的做法

  1. 创建FooterComposer

    公共函数撰写(查看$ view) { $ logo = DB :: table('logos')-> get(); $ view-> with([['logo'=> $ logo]); }

现在$ logo可以在页脚中访问。

答案 3 :(得分:0)

我使用过View Composer。 在AppServiceProvider引导方法中,我添加了以下代码:

public function boot()
    {
        View::composer('layouts.app', function($view){
            $view->with('logo', Logo::all());
        });
    }

在控制器中,我使用了以下代码:

return view('layouts.footer');

在页脚中,我使用了以下代码:

        <footer>
            @foreach($logo as $l)
                <p>{{ $l->company_name }}</p>
                <img src="https://partners.hotelstore.co.ke/public{{ $l->company_logo }}" style="width:100px; height:75px;">

            @endforeach
            <p class="footer-text">&copy; Copyright <?php echo date("Y"); ?> Hotel Store Partners</p>
        </footer>

这是最终在页脚上显示图像的内容。