信息列表 - 布局
自定义布局
视图组件
除了创建自定义布局组件,你可以创建视图组件。它允许你可以在不使用额外 PHP 类的情况下,创建自定义布局。
use Filament\Infolists\Components\View; View::make('filament.infolists.components.box')
这段代码假定你有这么一个文件 resources/views/filament/infolists/components/box.blade.php
。
自定义布局类
你可以创建自定义的组件类和视图,使之可以在整个项目中重用,甚至作为插件发布到社区中。
如果你只想创建一个使用一次的简单自定义组件,你可以使用视图组件来渲染自定义 Blade 文件。
要创建自定义布局类和视图,你可以使用如下命令:
php artisan make:infolist-layout Box
它将同时创建以下布局组件类:
use Filament\Infolists\Components\Component; class Box extends Component{ protected string $view = 'filament.infolists.components.box'; public static function make(): static { return app(static::class); }}
它同时创建了一个视图文件:resources/views/filament/infolists/components/box.blade.php
。
渲染组件的 schema
在视图内,你可以使用 $getChildComponentContainer()
函数,渲染组件的 schema()
:
<div> {{ $getChildComponentContainer() }}</div>
访问 Eloquent 记录
在视图内,你可以使用 $getRecord()
函数访问 Eloquent 记录:
<div> {{ $getRecord()->name }}</div>
Edit on GitHubStill need help? Join our Discord community or open a GitHub discussion