[增添]添加了datasource的setting数据库以及默认值

This commit is contained in:
makotocc0107
2024-08-27 09:57:44 +08:00
parent d111dfaea4
commit 72eb990970
10955 changed files with 978898 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
---
title: Custom layouts
---
import LaracastsBanner from "@components/LaracastsBanner.astro"
<LaracastsBanner
title="Build a Custom Form Layout"
description="Watch the Build Advanced Components for Filament series on Laracasts - it will teach you how to build components, and you'll get to know all the internal tools to help you."
url="https://laracasts.com/series/build-advanced-components-for-filament/episodes/7"
series="building-advanced-components"
/>
## View components
Aside from [building custom layout components](#custom-layout-classes), you may create "view" components which allow you to create custom layouts without extra PHP classes.
```php
use Filament\Forms\Components\View;
View::make('filament.forms.components.wizard')
```
This assumes that you have a `resources/views/filament/forms/components/wizard.blade.php` file.
## Custom layout classes
You may create your own custom component classes and views, which you can reuse across your project, and even release as a plugin to the community.
> If you're just creating a simple custom component to use once, you could instead use a [view component](#view-components) to render any custom Blade file.
To create a custom column class and view, you may use the following command:
```bash
php artisan make:form-layout Wizard
```
This will create the following layout component class:
```php
use Filament\Forms\Components\Component;
class Wizard extends Component
{
protected string $view = 'filament.forms.components.wizard';
public static function make(): static
{
return app(static::class);
}
}
```
It will also create a view file at `resources/views/filament/forms/components/wizard.blade.php`.
## Rendering the component's schema
Inside your view, you may render the component's `schema()` using the `$getChildComponentContainer()` function:
```blade
<div>
{{ $getChildComponentContainer() }}
</div>
```
## Accessing the Eloquent record
Inside your view, you may access the Eloquent record using the `$getRecord()` function:
```blade
<div>
{{ $getRecord()->name }}
</div>
```