支持渲染不属于可编辑内容的布局
问题
基本上我的用例是,我想在编辑器画布中展示整页——包括页眉、菜单和页脚——但只允许用户编辑页面的实际内容。这样做的理由是让用户能尽可能接近“最终产品”的页面。
我通过将整页渲染到封装器中,使用“fromElement”选项,并注意将属于布局元素的“highlightable”、“badgable”及其他属性设置为“false”,实现了类似的效果,但这仍然不理想,因为:
-
“层管理器”中的根节点仍然是主体,因此由于其下方的元素被标记为不可分层,主体不可展开。我这里想要的是图层管理器的根节点是“内容”元素。
-
在查看/导出代码时,会显示整个页面的代码。我希望只显示与“内容”元素相关的代码。
@artf 这个功能作为一个功能合理吗?我已经准备好开始为它争取一个永久性宣传了。是否应该作为一个选项实现,指定一个CSS选择器来指定“实际可编辑部分”元素?如果是这样,这个期权应该叫什么名字?“rootNode”、“subcontainer”、“wrapper”、“subwrapper”、“contentElement”、“contentWrapper”?或者,如果没有配置选项,也可以有文档中的默认行为。例如:如果初始 html 内容中的某个元素(使用“fromElement”)的 id 是 “gjs-root-node”,那么上述行为就会相应应用。大家怎么看?
回答(3)
对于点“1”,你可以把它传递给你的初始化选项: “''js ... layerManager: { showWrapper:0, },
第2点,比如自定义的“占位符”组件,它会覆盖模型定义中的“toHtml”方法吗
“''js
型号:...
{
toHTML() {
返回“;
}
},
嘿,@dsgh,你完成任务了吗?
@artf 这几天我一直在忙着做其他葡萄的扩展,我们也需要这些。感谢你的建议——我会进一步了解“showWrapper”选项,我觉得你关于第二点的建议非常准确!我本该想到这么做的。
我会在本月晚些时候回来讨论这个问题,并反馈——如果你想暂时关闭这个问题,也欢迎,因为我相当有信心能在不修改葡萄的情况下解决这个问题。
谢谢
相关问答
通过相似的问题讨论继续研究。
问题 #3268
如何在HTML中添加JavaScript而不进行净化?
@artf,我正在接收用户的JavaScript输入。我需要在模板HTML里添加这个JavaScript,但它会被净化。 有没有办法关闭消毒功能?(我对你提到的#3245问题没有意见)或者你能在编辑器里添加类似“allowSanitization: false”这样的属性吗?...
问题 #3727
风格导入问题
你好,@artf, 详细描述这个漏洞 在用 GrapesJS 创建新模板时,我遇到了一个情况:当我们尝试从 import modal 导入 CSS 时,编辑器中没有反映出来。在一个空白编辑器上,我创建了一个模板,添加了HTML和CSS。之后,我需要在CSS部分做一些修改,为此,...
问题 #4765
官方的解析@keyframes方法并不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome v107描述一下那个虫子 如何复现这个漏洞?按照[这里](https://grapesjs.com/docs/guides/Custom-CSS-parser.html#rule-obj...
问题 #4083
Set root 不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Safari 15.0可复制演示链接 https://jsfiddle.net/adw6y12f/9/描述一下那个虫子 你好, 我正在尝试按照[这里](https://github.com/artf/...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。