2016-12-06 21 views
0

我的網站有一個主頁和管理區域。我的主頁的一部分有一個滑塊,其圖像可以用管理面板進行管理,即我已經創建了專門用於滑塊的CRUD。如何在laravel中同時將值傳遞給不同的視圖?

但問題是,管理面板有他自己的看法,他可以看到以表格方式存儲的所有圖像。

我想將值傳遞給我的主頁也使滑塊上的圖像也改變,但我無法將值傳遞給2個視圖。

SliderController有一個叫做指數

public function index() 
    { 
     $slider = Slider::all(); 
     return view('slider.index')->withSlider($slider); 
    } 

slider.index

@extends('main') 

@section('title','OnlineKart | Slider') 

@section('content') 

    <div class="container container-margin"> 
     <div class="row"> 
      <div class="col-md-12"> 
       <div class="panel panel-primary"> 
        <div class="panel-heading"> 
         <h2>Slider Image Details</h2> 

         <a class="btn btn-warning " href="{{route('slider.create')}}"> Create New</a> 

        </div> 
        <div class="panel-body"> 
        <table class="table"> 
         <thead> 
          <th>Title</th> 
          <th>Body</th> 
          <th>Image</th> 
          <th>Created At</th> 
          <th></th> 
          <th></th> 
         </thead> 
         <tbody> 
          @foreach ($slider as $sliders) 
           <tr> 
            <td>{{ $sliders->name }}</td> 
            <td>{{ $sliders->description }}</td> 
            <td><img src="{{asset("images/$sliders->image")}}" class="img-responsive"></td> 
            <td>{{ $sliders->created_at->diffForHumans() }}</td> 
            <td><a href="{{route('slider.edit',$sliders->id)}}" class="btn btn-success btn-sm"><span class="glyphicon glyphicon-pencil"></span></a></td> 
            <td>{{ Form::open(['route'=>['slider.destroy',$sliders->id], 'method' => 'DELETE']) }} 
             {{Form::button('<span class="glyphicon glyphicon-trash"></span>', array('type' => 'submit', 'class' => 'btn btn-danger btn-sm'))}} 
             {{ Form::close() }}</a></td> 
           </tr> 
          @endforeach 
         </tbody> 
        </table> 
        </div> 
       </div> 
      </div>   
     </div> 
    </div> 

@endsection 

首頁

<!--Slideshow--> 
     <div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> 
     <!-- Indicators --> 
     <ol class="carousel-indicators"> 
     <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> 
     <li data-target="#carousel-example-generic" data-slide-to="1"></li> 
     <li data-target="#carousel-example-generic" data-slide-to="2"></li> 
     <li data-target="#carousel-example-generic" data-slide-to="3"></li> 
     </ol> 

     <!-- Wrapper for slides --> 
     <div class="carousel-inner" role="listbox"> 
     <div class="item active"> 
      <img src="{{'images/thumbcrousel.jpg'}}" alt="img1"> 
      <div class="carousel-caption"> 
      <h3>Title Here 1</h3> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam, ex.</p> 
      </div> 
     </div> 
     <div class="item"> 
      <img src="{{'images/thumbcrousel.jpg'}}" alt="img2"> 
      <div class="carousel-caption"> 
      <h3>Title Here 2</h3> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam, ex.</p> 
      </div> 
     </div> 
     <div class="item"> 
      <img src="{{'images/thumbcrousel.jpg'}}" alt="img3"> 
      <div class="carousel-caption"> 
      <h3>Title Here 3</h3> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam, ex.</p> 
      </div> 
     </div> 
     <div class="item"> 
      <img src="{{'images/thumbcrousel.jpg'}}" alt="img3"> 
      <div class="carousel-caption"> 
      <h3>Title Here 4</h3> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam, ex.</p> 
      </div> 
     </div> 
     </div> 

我想值傳遞給這個主頁也這樣我就可以使功能它動態的

我可以在此管理部分查看我的所有數據,即slider.index。

有什麼方法可以將價值傳遞給主頁,以便我可以同時在兩個頁面中查看我的圖像。

both localhost:8000和localhost:8000/slider/index應顯示圖像。一頁是公開的,一頁是僅供管理員使用的。

對不起,對於長期發佈。請讓我知道,如果它很難理解我會盡力澄清。謝謝!

+0

您將需要通過'滑塊::所有()'到你的「公共」指標。然後,在您的索引中,您可以像管理頁面中那樣遍歷它們,而是創建HTML輪播元素 – scottevans93

+0

您想要在'home'上顯示'admin'頁面上的更改嗎?如果是的話,你真的需要了解HTTP請求和Laravel框架的生命週期。 由於您的主頁已經加載,您必須有一些外部事物告訴您的頁面:嘿,您需要重新安裝這些圖像。 –

+0

閱讀關於laravel視圖作曲家 –

回答

-1

我不確定困難是什麼?你有兩種觀點,大概有兩個控制器。因此,只要將數據傳遞給視圖在這兩種情況下:

class HomeController extends Controller 
{ 
    public function index() 
    { 
     $slider = Slider::all(); 

     return view('slider.index', compact('slider'); 
    } 
} 

而且......

class SliderController extends Controller 
{ 
    public function index() 
    { 
     $slider = Slider::all(); 

     return view('admin.slider.index', compact('slider'); 
    } 
} 
相關問題