【问题标题】:TYPO3 10.4 rtekeep="1" deletes after savingTYPO3 10.4 rtekeep="1" 保存后删除
【发布时间】:2021-06-28 07:15:57
【问题描述】:

我想在 TYPO3 10.4 中创建一个 JavaScript href 链接,以在 HTML 页面上打开隐私设置模式。链接总是在保存后被删除。我找到了使用 rtekeep="1" 来保留 JavaScript 链接的解决方案。不幸的是,rtekeep 属性总是在保存后被删除。在较旧的 TYPO3 版本中,此技巧效果很好。

这是我的代码的样子:

<a href="javascript:xyz">Linktext</a>

【问题讨论】:

  • 什么?在哪里?为什么?什么时候? ;> 欢迎来到 StackOverflow。请阅读how to ask a questionhow to create a minimal, reproducible example。请记住,TYPO3 使用了数以万计的配置参数,这些参数可以在许多上下文中找到,例如 TypoScript、TSConfig、TCE、DB、扩展、。如果您期待一些严肃的答案,至少向我们展示您尝试了什么以及您在哪里做的,这样我们就不需要重新设计您的路径。
  • 请使用Edit链接更新您的问题以添加更多详细信息。
  • 另外,请记住,TYPO3 ver.10+ 不使用我们在以前版本中知道的形式的 RTE,虽然目前找不到任何折旧信息这些配置很可能不会不再在 TS 工作了。

标签: javascript typo3 rte typo3-10.x


【解决方案1】:

当然有多种方法可以解决这个问题。例如,有一些方法可以通过 CKEditor 和/或 RTE_parsefunc 配置将您的 HTML 列入白名单。不想对内联 JS 有意见,我将建议一种最小配置方式。

  1. 添加自定义“样式”

    由于使用自定义类向 CKEditor 添加新元素很容易(虽然 data-... 在语义上会更好,但我不知道将它添加到 CKEditor 的简单方法),我正在使用它:

    将这样的内容添加到您的 CKEditor yaml 中(请参阅 https://usetypo3.com/ckeditor.html 以获取相关帮助):

    editor:
      config:
        stylesSet:
         - { name: 'Open consent modal', element: 'button', attributes: { class: 'btn btn-default open-consent' } }
    
  2. 附加点击处理程序

    添加这个 JavaScript(像往常一样在<body> 的末尾):

    document.querySelectorAll('.open-consent').forEach(
      elem => {
        elem.addEventListener(
          'click',
          ev => {
            ev.preventDefault() // don't navigate for <a> or <button>
            yourShowModalFunction()
          }
        )
      }
    )
    

【讨论】:

    猜你喜欢
    • 2023-01-08
    • 1970-01-01
    • 2020-07-06
    • 2021-03-19
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多