Filament v3.2侧边栏页脚渲染视图/AccountWidget失败求助
解决Filament v3.2侧边栏页脚自定义视图/AccountWidget报错问题
错误根源
报错'Using $this when not in object context'是因为自定义视图中使用了$this(例如$this->user()),但渲染视图时的上下文并非Filament组件实例,无法识别$this的指向。
解决方案1:修正自定义视图代码
如果坚持使用自定义视图filament.comp.account-user,将视图中依赖$this的代码替换为全局Facade或函数调用:
- 错误示例代码:
<div>{{ $this->user()->name }}</div> - 修改后代码:
或使用Laravel全局auth助手:<div>{{ \Filament\Facades\Filament::auth()->user()->name }}</div><div>{{ auth()->user()?->name }}</div>
解决方案2:直接渲染AccountWidget组件
若需直接使用Filament内置的AccountWidget,在AdminPanelProvider的sidebarFooter配置中返回组件实例即可,无需调用视图:
use Filament\Widgets\AccountWidget; // Panel配置内的代码片段 ->sidebarFooter(fn () => AccountWidget::make())
验证配置示例
确保你的AdminPanelProvider中侧边栏页脚配置类似如下:
public function panel(Panel $panel): Panel { return $panel // 其他配置项... ->sidebarFooter(fn () => AccountWidget::make()) // 或者使用修正后的自定义视图 // ->sidebarFooter(fn () => view('filament.comp.account-user')); }
内容的提问来源于stack exchange,提问作者João Scheleder Neto
相关产品推荐
相关产品推荐

