РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflSpOsFm 196 of 250 menu
◀ ▶

Форма вне панели в Filament

Давайте поставим форму вне панели. Страница работников открывается по /workers и не проходит через панель.

В routes/web.php зададим маршрут на шаблон workers.blade.php, куда подключим Livewire:

<?php use Illuminate\Support\Facades\Route; Route::view('/workers', 'workers'); ?>

Класс WorkerNameForm.php реализует HasSchemas и trait InteractsWithSchemas. Метод form добавит TextInput с именем name:

<?php namespace App\Livewire; use Filament\Forms\Components\TextInput; use Filament\Schemas\Concerns\InteractsWithSchemas; use Filament\Schemas\Contracts\HasSchemas; use Filament\Schemas\Schema; use Illuminate\Contracts\View\View; use Livewire\Component; class WorkerNameForm extends Component implements HasSchemas { use InteractsWithSchemas; public ?array $data = []; public function mount(): void { $this->form->fill(); } public function form(Schema $schema): Schema { return $schema ->components([ TextInput::make('name') ->label('Name'), ]) ->statePath('data'); } public function render(): View { return view('livewire.worker-name-form'); } } ?>

В шаблоне компонента выведем схему формы одной строкой:

<div> {{ $this->form }} </div>

На странице workers.blade.php вставим тот же компонент:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Workers</title> </head> <body> @livewire('worker-name-form') </body> </html>

На обычной странице сайта дайте ввести имя работника.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить