Почему мой Laravel блэйд возвращает пустую страницу? - PullRequest
0 голосов
/ 12 февраля 2020

это мой маршрут

Route::get('/product/single/{slug}', 'Front\ShopController@shopSingle')
->name('front.shop_single.ru');

и мой вид, где я использую этот маршрут для загрузки одного продукта

<div class="col-md-4">                
    <div class="product">
    <figure class="product-image">
        <a href="{{ route('front.shop_single.ru', $product->slug ) }}"><img src="/{{ $img[0]  }}" alt="bitcoin, bitcoindoc, bitcoin exchange, exchange, libradoc, libradoc exchange"></a>
        <a href="{{ route('front.shop_single.ru', $product->slug) }}" class="btn btn-style-4"><i class="licon-cart"></i>Подробно</a>
    </figure>
    <div class="product-description">
        <a href="{{ route('front.shop_single.ru', $product->slug ) }}" class="product-cat">{{ $product->title  }}</a>
        <h5 class="product-name"><a href="{{ route('front.shop_single.ru', $product->slug ) }}">{{ $product->price  }}</a></h5>
    </div>
    </div>
</div>

наконец контроллер для перенаправления моей желаемой страницы

public function shopSingle($slug){
    $product = Shop::whereSlug($slug)->whereLang(App::getLocale())->first();
    $data['product'] = $product;
    return view('front.'.'App::getLocale()'.'.shop_single', $data);        
}

к сожалению, всякий раз, когда я пытаюсь go к одному продукту, он возвращает пустую страницу, но в ресурсе просмотра страницы (я использую Chrome) все в порядке. Пожалуйста, помогите, заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Вам также необходимо отправить данные для просмотра

public function shopSingle($slug){

    $product = Shop::whereSlug($slug)->whereLang(App::getLocale())->first();

    // it could work like this
    $data['product'] = $product;
    return view('front.'.App::getLocale().'.shop_single', $data);

    // or
    return view('front.'.App::getLocale().'.shop_single', compact($product));

    // or
    return view('front.'.App::getLocale().'.shop_single')->withProduct($product);
}
0 голосов
/ 12 февраля 2020

Попробуйте изменить последнюю строку с вашего контроллера на

return view('front.'.App::getLocale().'.shop_single', ['product' => $product]);
...