问题 #1096💬 已回答提出于 2018年5月9日作者 dsgh0 个反应

支持渲染不属于可编辑内容的布局

快速解答作者 artf

对于点“1”,你可以把它传递给你的初始化选项: “''js ... layerManager: { showWrapper:0, },

阅读下方完整回答 ↓

问题

基本上我的用例是,我想在编辑器画布中展示整页——包括页眉、菜单和页脚——但只允许用户编辑页面的实际内容。这样做的理由是让用户能尽可能接近“最终产品”的页面。

我通过将整页渲染到封装器中,使用“fromElement”选项,并注意将属于布局元素的“highlightable”、“badgable”及其他属性设置为“false”,实现了类似的效果,但这仍然不理想,因为:

  1. “层管理器”中的根节点仍然是主体,因此由于其下方的元素被标记为不可分层,主体不可展开。我这里想要的是图层管理器的根节点是“内容”元素。

  2. 在查看/导出代码时,会显示整个页面的代码。我希望只显示与“内容”元素相关的代码。

@artf 这个功能作为一个功能合理吗?我已经准备好开始为它争取一个永久性宣传了。是否应该作为一个选项实现,指定一个CSS选择器来指定“实际可编辑部分”元素?如果是这样,这个期权应该叫什么名字?“rootNode”、“subcontainer”、“wrapper”、“subwrapper”、“contentElement”、“contentWrapper”?或者,如果没有配置选项,也可以有文档中的默认行为。例如:如果初始 html 内容中的某个元素(使用“fromElement”)的 id 是 “gjs-root-node”,那么上述行为就会相应应用。大家怎么看?

回答(3)

artf2018年5月10日

对于点“1”,你可以把它传递给你的初始化选项: “''js ... layerManager: { showWrapper:0, },

第2点,比如自定义的“占位符”组件,它会覆盖模型定义中的“toHtml”方法吗
“''js
型号:...
	{
		toHTML() {
			返回“;
		}
	},
artf2018年5月18日

嘿,@dsgh,你完成任务了吗?

dsgh2018年5月18日

@artf 这几天我一直在忙着做其他葡萄的扩展,我们也需要这些。感谢你的建议——我会进一步了解“showWrapper”选项,我觉得你关于第二点的建议非常准确!我本该想到这么做的。

我会在本月晚些时候回来讨论这个问题,并反馈——如果你想暂时关闭这个问题,也欢迎,因为我相当有信心能在不修改葡萄的情况下解决这个问题。

谢谢

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。