TYPO3 RTE-Link 链接页面的 id 作为数据属性或相对标签?

标签 typo3 typoscript rte

我正在尝试将链接页面的特殊 id 作为相对属性添加到 RTE 的每个 a-Tag。 目前,rel 部分包含在链接中,但使用“page:uid”时,它会插入实际页面 ID,而不是链接页面的 ID。

lib.parseFunc_RTE.tags.link {
  typolink.parameter.append < lib.parseFunc.tags.link.typolink.parameter.append
  typolink.ATagParams = rel={page:uid}
  wrap < lib.parseFunc.tags.link.newWrap
}

例如: 网站“Contact”的 ID 号为 210,但目前,我位于 id = 11 的“开始”页面。 现在,我在“开始”页面上有一个到“联系人”页面的文本链接。 HTML 部分如下所示:

<a href="contacts/" rel="11">contact</a>

但应该是这样的

<a href="contacts/" rel="210">contact</a>

或者甚至更好,像这样(具有特殊的数据属性)

<a href="contacts/" data-relation="210">contact</a>

我怎样才能得到这个? 非常感谢。

最佳答案

您尝试做的事情在 TypoScript 中有点棘手,但并非不可能。您必须处理伪 <link> 的参数标签看起来像 162 - some-class ... -162是本例中的 page-id。

打字脚本

# Simulating some content
page = PAGE
page.10 = TEXT
page.10.value (
  <link 162 - some-class>Some page</link>
)

page.10.parseFunc =< lib.parseFunc_RTE

# Adjusting parsing instructions for pseudo links
lib.parseFunc_RTE {
  tags.link {
    typolink.ATagParams.append = TEXT
    typolink.ATagParams.append {
      stdWrap {
        # having all link settings "162 - some-class ..."
        data = parameters:allParams
        # split by whitespace
        split.token.char = 32
        # use first item
        split.returnKey = 0
        # enforce integer values
        intval = 1
      }
      noTrimWrap = | data-relation="|"|
    }
  }
}

生成的标记

<p class="bodytext">
  <a href="/tests/some-page" class="some-class" data-relation="162">Some page</a>
</p>

关于TYPO3 RTE-Link 链接页面的 id 作为数据属性或相对标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40088247/

相关文章:

typo3 - Powermail 中的添加、重命名或删除布局选项

TYPO3更新: cannot find deprecated RTE properties

typo3 - 在 TYPO3 中添加自定义内容元素布局

apache - TYPO3:通过 .htaccess 设置开发

typo3 - 如何检查 typo3 流体模板中的列内容?

.net - Sitecore RTE 类别列表未更新

tinymce - TinyMCE编辑器中的换行符在预览中显示多余的行,而不是在代码中

javascript - 使用javascript在tinymce编辑器中更改文本框文本

typo3 - 在 Extbase 6.2 中,列表页面不再使用 uid

typo3 - TypoScript:{field:uid} 替换无效 |每个菜单项有不同的 CSS 类