#6282017年12月11日作者 AH1N13 个回答
有没有现成的解决方案可以排除部分组件进入最终HTML?或者有没有其他机制让组件只存在于视野中?
ryandeba
你好@AH1N1, 你说的“最终 html”是指从 'editor.getHtml()' 返回的值吗?你说的是自定义组件吗?如果这两个问题的答案都是肯定的,那么你应该可以覆盖自定义组件的“toHTML”方法,使其不返回任何内容。实现这一点的代码大致如下: 如果你有其他想法,告诉我一些细节,我可以尽力进一步协助。 顺便问一下——@artf你怎么看让'editor.getHtml()'和'component.toHTML()'之间“HTML/Html”大写一致?我没有偏好用哪种...
ryandeba
@AH1N1 这里有一个可用的代码示例:https://jsfiddle.net/tt32z2uz/2/。打开浏览器控制台,你应该会看到这段被登出的状态:“<div>这里有一些正常内容</div><div>......更正常的内容</div>“。 这能给你调试代码所需的信息吗?如果没有,你能提供一个你的实现实时代码示例吗? 我能想到的一些可能原因,说明为什么这方法对你不起作用:“isComponent”方法无法正确识别你的自定义组件编辑器实例在你的自定义组件类型注册之前已经...
artf
你好@afotey如果我想只返回通过组件设置面板输入的 div ID,怎么办? 组件设置中分配的ID直接放在“属性”里,所以你可以用它 “''js const comp = editor.getSelected(); const id = comp.getAttributes()['id']; ```有没有办法让导出时只包含这些ID,而不是任何配套的HTML/CSS? 当你的组件有某种风格时,你会获得其他ID。如果你用类,应该看不到这些
#6272017年12月11日作者 hatchwald3 个回答
 抱歉,也许我忘了看细节,但默认功能只有一个(直接屏蔽)?
hoainam12k
你可以在这里使用基本模块:https://github.com/artf/grapesjs-blocks-basic(以及README文件中的其他)
hatchwald
我试着找那个功能的代码,但到现在还没找到
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#6262017年12月10日作者 z1lk3 个回答
我的CMS是这样的:网站可以有一个主题,并在该主题下放置多个模板。主题渲染在每一页,模板仅渲染在特定页面。我已经成功地将 GrapesJS 与我现有的模板编辑器集成了,但我有个问题:有没有办法在 Grapes 中围绕模板渲染主题?也就是说,有没有办法在可编辑的 HTML 周围插入不可编辑的 HTML?如果我在画布的“正文”和“#wrapper”之间放置 HTML,我似乎得到我想要的结果。 有没有现有的 API 可以实现这个功能?如果没有,这个功能是否理想,还是我应该用 JavaScript 把我的主题 HTML 注入编辑器里? 附言:这里是第一次发帖。这款软件做得很棒@artf。我很期待看到Grapes如何帮助我,以及我如何为这个...
z1lk
我调整了代码,做了一个适合我需求的小补丁。配置选项“surround”允许你指定一个ID,代表容器中的一个元素。这个DOM子树在主初始化时被提取,存储在编辑器配置中,并被画布拾取。Canvas 随后负责包裹周围的环绕渲染。我想知道是否有人有类似的需求,这是否是个好解决方案。 如果用例不清楚:假设我用的是Bootstrap,有一个带有容器、导航栏、页脚等的主题。然后我有一个页面模板,用 Grapes 编辑。我想在主题的HTML中看到模板,但我应该只能编辑模板,同样,'Edit...
artf
太好了@z1lk我觉得连这样也能奏效 “''js const canvas = 编辑器。画布; const surround = document.createElement('div'); surround.innerHTML = '<div>Some text</div>'; canvas.getBody().appendChild(环绕); surround.appendChild(canvas.getWrapperEl()); ``` 我结束这篇文章,因为你已经破案了
z1lk
我用的方案和你类似,这样就不用对Grapes源头做更改。有时组件“工具”的位置不对,好像它们的垂直偏移是相对于身体计算的,而不是包裹器。不过我无法可靠地复现它。谢谢你的帮助@artf 编辑:我认为工具错位是因为“包围”从画布外移到了内侧。我现在已经没有这个问题了,但我可以通过选择一个组件来调出工具,然后打开浏览器的检查器(Firefox)来制造类似的问题。与#495类似
#6252017年12月10日作者 Caimilan3 个回答
你好@all, 我用自定义代码阻止数据流向服务器。一切正常,但 editor.store();第一次点击一次,第二次点击两次,第三次点击三次......诸如此类。 在storageManager ->类型中我用的是“remote”——如果用“本地”,拳头点击就没有效果。 有人能帮忙吗?
artf
每次你调用“save-db”时 “''js cmdm.add('save-db',{ run: function(editor, sender){ ... 从你的指挥部拿出来
shareefhiasat
这样做,这样我们就不会每次都绑定听众
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#6242017年12月8日作者 MuTaToR082 个回答
isComponent函数应该返回什么,才能让这个元素在编辑器中无法被选中?
artf
你可以利用[selectable](https://github.com/artf/grapesjs/blob/dev/src/dom_components/model/Component.js#L66) 属性,因此应返回“return { type: 'your-type', selectable: false }'
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#6232017年12月8日作者 krunal0392 个回答
我无法将项目直接提交到编辑器,并且有以下问题。 无效目标位置:未找到目标集合,目标不可丢弃,接受[未定义],组件不可拖拽,[未定义]可接受。 移动 @ grapes.min.js:2 结束移动 @ grapes.min.js:2
krunal039
是CSS问题,但宽度100%解决
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#6222017年12月8日作者 HarshOB3 个回答
当我第一次选择图片组件但没有选择图片时,如果我打开图片编辑器,点击关闭按钮后它就不会关闭。
artf
@HarshOB我无法用当前的演示还原它。你能提供现场演示吗?
artf
好的,我先关闭这个,但等你提供演示后会重新开放
#6212017年12月8日作者 vishal50332 个回答
你好, 我想添加类似工具栏的新工具栏,当选中Canvas中任何对象时都会显示(带有复制、删除、移动功能),但它需要显示在不同位置和不同的按钮集合上。 你能帮帮我吗? 谢谢
artf
@vishal5033 请把“免费咨询请求”排除在问题追踪器之外,谢谢
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#6202017年12月7日作者 xeux3 个回答
我尝试使用远程存储,但没成功,问题解决后我能尽力调整所有内容,但编辑器无法渲染加载的 HTML。 GrapesJS: JSON: '{“gjs-css”:“”, “gjs-html”:“<div>HELLO</div>”, “gjs-assets”:“[]”, “gjs-styles”:“[]”, “gjs-components”:“[]”}' 负载事件:  GrapesJS 似乎加载正常,我在初始化后面和加载事件里放了 '...
DeathStapler
我也有类似的问题。 看看我制造的问题。 第597期。 我遇到的问题是关于“contentTypeJson: true”的使用,但你已经在你的文件里有这个了。
artf
GrapesJS 似乎加载正常,我把 editor.render() 放在初始化后面,也放在加载事件里试试看。 你应该只用'editor.render()'来搭配'autorender: 0',所以去掉它
xeux
@DeathStapler谢谢,我用那个设置加载了 urlLoad。 @artf仍然无法渲染编辑器,控制台显示已加载的 urlLoad,但编辑器和查看源按钮里都没有显示。 我用的是最新版本。
#6192017年12月7日作者 MuTaToR082 个回答
Пишу declaration файл для этой библиотеке.Можете проверить правильность api?
artf
@MuTaToR08请只用英文讨论未解决的问题
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。