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

TYPO3 11中RTE ckeditor的<a>标签href斜杠异常问题咨询

TYPO3 11 ext:rte_ckeditor 链接转义问题解决办法

这不是TYPO3 11的正常预期行为,是系统内置的链接处理机制把相对根路径的链接转换成了TYPO3内部的资源引用格式(t3://folder),而前端渲染时没正确解析该格式,导致最终链接丢失。

以下是几种解决方法,按需选择:

  • 修改RTE CKEditor配置,禁用内部链接解析
    找到站点包的RTE配置文件(比如ext:site_package/Configuration/RTE/Default.yaml),添加或更新如下配置:

    processing:
      HTMLparser_db:
        tags:
          a:
            allowedAttribs: ['href', 'target', 'rel']
        keepNonMatchedTags: true
    editor:
      config:
        link:
          convertUrls: false
    

    保存后清空系统缓存,重新编辑内容就能保留原始的<a href="/">格式。

  • 调整全局链接处理配置
    在LocalConfiguration.php里添加以下配置,禁止把根路径链接转成内部引用:

    $GLOBALS['TYPO3_CONF_VARS']['SYS']['linkHandler']['folder']['softReferenceParser'] = '';
    

    注意:这会影响全局链接处理逻辑,建议先在测试环境验证效果。

  • 自定义链接转换钩子
    写一个自定义扩展,注册链接处理钩子来拦截根路径链接的转换:

    1. 在扩展的ext_localconf.php中注册钩子:
      $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['typoLink_PostProc'][] = \Vendor\SitePackage\Hooks\TypoLinkPostProcHook::class . '->process';
      
    2. 创建对应的钩子类:
      <?php
      namespace Vendor\SitePackage\Hooks;
      
      class TypoLinkPostProcHook {
          public function process(array $params, \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj) {
              // 把内部folder链接转回根路径
              $params['finalTag'] = str_replace('t3://folder?storage=0&amp;identifier=%2F', '/', $params['finalTag']);
              return $params['finalTag'];
          }
      }
      

    这种方法更灵活,适合需要自定义多种链接规则的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 17:52:17