我有一个Plone 4站点,我目前使用以下方法嵌入对象(例如图像、视频、表格…)在用户可编辑的HTML内容中:
transform浏览器,它接受HTML,并转换所有a和img元素,这些元素都是由UID引用的(即具有href="…/resolveuid/abc123…"或src="…/resolveuid/abc123…")。text字段,让浏览器transform它;TYPE2TEMPLATE,它有portal_type键和template_id值;a或img,o = brain._unrestrictedGetObject()获取t_id是从TYPE2TEMPLATE代码块中提取的。method = o.unrestrictedTraverse(t_id)获取。a或img元素。
现在我正在开发一个额外的定制包(它包含新的对象类型,现在正在使用灵巧),我想知道是否还有更多的“平淡”方式。例如,是否存在一些embed操作?
发布于 2017-10-24 12:15:39
我不知道有一个包裹能做同样的事情,你做的事情听起来很理智;-)
我只想用https://pypi.python.org/pypi/plone.outputfilters代替transform BrowserView。
如果可以显式标记不应该自动嵌入的链接(例如通过span.noEmbed a.internal-link选择器),这可能成为一个有用的加注。
我想对于portal_type==' file‘,您也需要检查mimetype,以确定您是嵌入视频文件还是其他什么的.
其他产品,我知道嵌入内容外,您的plone网站(例如。collective.embedly)
另一种方法是在编辑页面的html主体时使用tinymce插件生成适当的嵌入html(我个人不会这样做,因为4.3和5.0支持不同的小版本,而且我们不确定是否将来会替换成默认编辑器)。
https://stackoverflow.com/questions/46891866
复制相似问题