В вашем контроллере вы передаете в представление переменную с именем $carousel
, которая является путем к вашему файлу, как вы определили здесь:
$carousel = public_path('carousel/carousel.php');
Это причина, по которой он отображает толькострока.Вам необходимо получить фактическое содержимое файла:
$carousel = file_get_content(public_path('carousel/carousel.php'));
Лучший и более лаконичный способ сделать это - переименовать файл в carousel.blade.php
, сохранить его в папке resources/views
и просто включите его из основного файла блейда (без необходимости что-либо делать в контроллере):
@include('carousel')
Если вам нужно отобразить карусель только на определенных страницах, вы можете просто передать переменную $carousel = true
на страницах, которые должны отображать его:
$carousel = true;
return view('layouts.app',compact('carousel'));
И в свой блэйд-вид включайте файл карусели только тогда, когда эта переменная присутствует и имеет значение true:
@includeWhen(isset($carousel) && $carousel, 'carousel')