html - Tridion - 在 RTF 中插入 HTML(文字和部分元素)

标签 html tridion rtf

我正在尝试在 Tridion 中创建一个 GUI 扩展,当单击一个按钮时,我将一个特定的 html 插入到 RTF 中......我有工具栏按钮和弹出窗口来通知用户。但是,当我在插入 HTML“

”时在弹出窗口中单击“确定”时,它会插入“
”。

我发现 applyHTML 方法正在修改正在插入的内容。是否有任何其他函数/方法可以准确插入我指示的内容,我的意思是缺少结束标记或打开标记的无效 html?

最佳答案

如果您需要制作无效标记,请考虑使用纯文本字段。不确定这会在多大程度上改变您现有的扩展和内容模型,但您可以在纯文本字段中输入任何内容,包括似乎是某种“拆分”或分隔占位符的内容。

</div><div class='Page'>

要保留富文本功能并遵循一些典型的 Tridion 实践,请考虑以下其中一项。

一次完成所有标记更改

假设您的最终标记有一个开放的 <div>和关闭</div> ,考虑让您的扩展包装一整套选定的富文本。在此过程中和更新组件之前,允许作者选择“拆分”的位置并将整个更新保存到 RTF。

使用嵌入式模式和模板代码创建“拆分”

嵌入式架构字段是拆分内容的一种更简单的方法。作者创建了一组新的嵌入式字段,模板代码可以将其更改为选项卡、段落或您的情况下可能是页面(分页?)的内容。

A "Paragraph" embedded schema can handle this use case ,据我了解。

<!-- TemplateBeginRepeat name="Component.Fields.Paragraph" -->
<div class='Page'>
<!-- author-entered content -->
</div>
<!-- TemplateEndRepeat -->

这将创建 </div><div class='Page'>在嵌入字段集之间。它还允许您在将来更改类和标记而无需更改扩展名。

改为插入非 HTML“合并字段”

查看我写的关于 custom tags in rich text fields 的帖子中的选项,其中包括:

  • 内容管理器资源管理器中的 CSS 类,例如 class="page-split" .您甚至可以将其设置为某种样式(例如,在视觉上显示为 <hr/>),然后将其模板化为您在最终标记中需要的任何内容。
  • 合并字段占位符标签,例如“[[end-page]][[start-page]
  • 自定义 HTML5 节点,如果必须的话

您可以插入任何带有扩展名的内容,可选择将它们设置为在 CME 中以特定方式显示。

我喜欢为作者提供在富文本字段中插入功能的更简单方法,但将特定 HTML(尤其是无效 HTML)插入组件的问题在于将此功能硬编码到内容中。您会遇到迁移和设计更改方面的问题。

考虑利用 Tridion 如何将设计与内容分开。

关于html - Tridion - 在 RTF 中插入 HTML(文字和部分元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119168/

相关文章:

python - 是否可以在 Google Chrome 上运行 Python GUI?如果是,请告诉我如何?

tridion - 安装 SmartTarget 后 Content Deployer 给出错误消息

ruby - 使用 Ruby 和 Pandoc 将 Markdown 文本转换为 RTF?

html - 寻找优质、桌面、跨平台的 HTML 到 RTF 解决方案

javascript - 使用 JavaScript 更新进度条

jquery - 调整窗口宽度时删除类和样式标签

tridion - OE/AM同步

tridion - Tridion 2011 中的 Session.GetObject 为不存在的项目返回组件

delphi - 将位图转换为 RTF 后,图像在 ms word 中不显示(但在写字板中显示)

html - 放置 float 属性后按钮不起作用