0

不幸的是,TYPO3 的默认 CKEditor 配置中没有 details/summary 元素,我正在寻找一种添加它的方法。

我一直在尝试做的事情:

我在https://ckeditor.com/cke4/addon/detail上搜索并找到了一个小部件,但它在 GitHub 上的存储库已存档,并且该小部件无法按预期工作。它需要'api,widget',这会产生一个 JavaScript 错误: [CKEDITOR.resourceManager.load] Resource name "api" was not found at "/typo3/sysext/rte_ckeditor/Resources/Public/JavaScript/Contrib/plugins/api/plugin.js?t=K24B-4e13cc129f". 删除“api”的此要求时,第 72 行出现错误 CKEDITOR.api.parser.add(item, el);

然后我在 GitHub 上找到了一个类似的小部件,它看起来像是前者的旧版本,不需要“api”。它看起来已经很不错了,但还是有点问题:保存时 HTML 结构发生了变化,并且摘要重复了。当切换到源代码时,模板中指定的 HTML 结构 <details><summary>Summary</summary><div class="details-content"></div></details> …… get 的部分丢失了。

我不确定小部件是否有问题,或者编辑器是否受到与 TYPO3 集成的限制,我也无法将两者结合起来,从而产生一个可行的解决方案。

更新(7 月 22 日): 我成功修改了创建简单 CKEditor 小部件(第 1 部分)示例,以创建具有以下 HTML 结构的小部件:

<div class="expander">
    <p class="expander-title">Title</p>
    <div class="expander-content"><p>Content...</p></div>
</div>

在一个小的 JavaScript 片段和一些 CSS 的帮助下,它现在的行为几乎就像一个 details-summary 元素,但在 SEO 和可访问性方面并不那么好。

如果我在小部件中替换元素<div class="expander"><p class="expander-title"><details><summary>,不幸的是它不再正常工作并在保存时更改结构。出于某种原因,RTE 以不同的方式对待它们。

我已经手动将以下内容添加到 RTE 配置中:

processing:
  allowTags:
    - details
    - summary
  allowTagsOutside:
    - details
    - summary
4

0 回答 0