检查 TYPO3/FLUID 模板的 link 类型

Check link type for TYPO3 / FLUID template

在我的 typo3 项目中,我有一个从 CMS 呈现正文的流畅模板:

<f:section name="Main">
         <div class="RteContent">
               <f:format.html>{data.bodytext}</f:format.html>
         </div>
</f:section>

现在,在 RTE 中,您可以为文件设置 links 或为页面设置 links。我的目标是为文件 links 设置不同的样式。有什么方法可以找出正在设置的 link 类型,然后为此类文件应用相应的 CSS 样式 link?

解析函数

RTE 内容的 HTML 输出由 parseFunc 控制(参见 https://docs.typo3.org/other/typo3/view-helper-reference/master/en-us/typo3/fluid/latest/Format/Html.html)。默认值为 lib.parseFunc_RTE,但您可以使用自己的值。

如果您是 TypoScript 魔术师(我不是),它可以做出非常惊人的事情 (https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Functions/Parsefunc.html#makelinks)。我会调查 makelinks.http.ATagParams (stdWrap).

CSS

然而,可能还有更简单的方法。通过使用 TYPO3 的固定文件存储 URL 我们可以使用 CSS 选择器来匹配 links 到文件。

这可能需要根据您的配置进行调整,这可能会影响 link 生成(config.baseUrl/absRefPrefix

a[href*="/fileadmin/"] {
  background: yellow
}

a[href^="/fileadmin/"] {
  background: yellow
}

a[href$=".pdf"] {
  background: yellow
}