Olá Eliam! Tudo certo?
Pelo que você descreveu, parece que o problema está na forma como você está passando o título para o componente layout.blade.php
. Vamos revisar o seu código e a estrutura para garantir que tudo está correto.
Primeiro, certifique-se de que o arquivo layout.blade.php
dentro da pasta components
está assim:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ $title }}</title>
</head>
<body>
<h1>{{ $title }}</h1>
{{ $slot }}
</body>
</html>
E no seu arquivo onde você está utilizando o componente, deve estar assim:
<x-layout title="Séries">
<ul>
@foreach ($series as $serie)
<li>{{ $serie }}</li>
@endforeach
</ul>
</x-layout>
Certifique-se também de que você está passando a variável $series
corretamente para a view. No seu controller, deve estar algo assim:
public function index()
{
$series = ['Série 1', 'Série 2', 'Série 3']; // Exemplo de dados
return view('series.index', ['series' => $series]);
}
Se tudo estiver correto e ainda assim o erro persistir, verifique se você criou o componente layout
corretamente com o comando Artisan, pois ele pode ajudar a configurar tudo automaticamente:
php artisan make:component Layout
Isso criará um arquivo Layout.php
em app/View/Components
e uma view em resources/views/components/layout.blade.php
. O conteúdo do arquivo Layout.php
deve ser algo como:
namespace App\View\Components;
use Illuminate\View\Component;
class Layout extends Component
{
public $title;
public function __construct($title)
{
$this->title = $title;
}
public function render()
{
return view('components.layout');
}
}
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.