You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Filament富文本编辑器如何设置链接在新标签页打开?

Laravel Filament Richtext编辑器设置链接新标签页的解决方案

1. 自定义链接扩展添加Target选项

Filament的RichEditor基于Tiptap实现,默认的Link扩展没有暴露target设置,需自定义扩展添加该选项:

在项目中创建自定义Link扩展类:

<?php

namespace App\Filament\Extensions;

use Filament\Forms\Components\RichEditor\Extensions\Link;

class CustomLink extends Link
{
    protected function configure(): void
    {
        parent::configure();

        // 添加target选择选项
        $this->addNodeViewOption('target', [
            'type' => 'select',
            'label' => '打开方式',
            'options' => [
                '_self' => '当前标签页',
                '_blank' => '新标签页',
            ],
            'default' => '_self',
        ]);
    }
}

2. 在RichEditor中注册自定义扩展

在使用RichEditor的表单组件里,替换默认的Link扩展:

use App\Filament\Extensions\CustomLink;
use Filament\Forms\Components\RichEditor;

// 示例:在资源表单中使用
RichEditor::make('content')
    ->extensions([
        CustomLink::make(), // 替换默认的Link扩展
    ])
    ->toolbarButtons([
        // 保留你需要的工具栏按钮,确保包含'link'
        'bold',
        'italic',
        'link',
        'bulletList',
        'orderedList',
        'h2',
        'h3',
        'codeBlock',
        'attachFiles',
        'undo',
        'redo',
    ])

3. 开启源码编辑(可选)

如果需要直接编辑HTML源码手动设置target="_blank",可在工具栏中添加sourceCode按钮:

RichEditor::make('content')
    ->toolbarButtons([
        // ...其他按钮
        'sourceCode', // 添加源码编辑按钮
    ])

配置完成后,点击链接按钮会出现打开方式的下拉选择框,选「新标签页」即可自动添加target="_blank"属性;也可通过源码编辑直接修改HTML内容。

内容的提问来源于stack exchange,提问作者Sirish Amatya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 14:10:25