#4492017年10月25日作者 alissonphp2 个回答
我有一个 API 休息,负责接收并提供编辑器内容。编辑器创建的整个存储都会被保存:资源、组件、CSS 等每个项目都可以通过路由访问(例如编辑器 / 页面 / 4),加载路由 API 时返回该项目的内容,但调用 action editor.storeManager.load (内容)时,我无法将内容加载到编辑器中。 处理这种流程的最佳方式是什么? 感谢大家的关注。
artf
如果你说的内容是指html/css,那你可能在找'editor.setComponents('<div>...')'
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#4482017年10月24日作者 ateshuseyin3 个回答
我不想让SelectorManager出现在我的项目里。
ateshuseyin
@thecodefish 有效。谢谢。 @artf 这个问题可以结案。
artf
你什么意思?SelectorManager 是保留类集合的必要功能,它是核心的一部分,不能移除
ateshuseyin
在样式管理器界面顶部,有“类别”部分。我想把它从界面里移除。
#4472017年10月24日作者 ateshuseyin2 个回答
你好,@artf, 正如你在#26中描述的,通过配置实现多语言支持是可能的。但项目中也有一些静态文本。比如 https://github.com/artf/grapesjs/blob/88c262be2409734b276d2c22b1f7080ea8359ba1/src/trait_manager/model/TraitFactory.js#L30
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#4462017年10月24日作者 fzs19943 个回答
你好, 我希望所有在 Blocks 中列出的类别,在加载 Grapes JS 编辑器时必须处于初始收缩状态。我该怎么做?另外,如果点击任何一个类别,其他所有类别都会像手风琴一样关闭。这可能吗?  谢谢!
artf
试试这个 “''js const 分类 = 编辑器。BlockManager.getCategories(); categories.each(category => { category.set('open', false).on('change:open', opened => { opened.get('open') & categories.each(category => { 类别 !== 打开 && category.set('open', false) })...
fzs1994
哇,兄弟,非常感谢! 抢先看:  :heart_eyes:
faizansaiyed
用背景图片给你的自定义类和设置样式 例如代码: 在 bm.add 块中 以及CSS中的
#4452017年10月24日作者 suchithmahadi3 个回答
我调用的是组件外部的一个函数,正如 issue #395 中解释的那样 但它返回的是字符串而不是函数 我想在脚本中调用defaults.drawGauge函数,并动态传递生成的ID。 我卡住了,请帮帮我 Grapesjs.plugins.add('liquid-gauge-plugin', function(editor, options){ 设默认值 = { 该函数必须在组件脚本中调用 drawGauge:function(id){ ALERT(“draw” + id); } } 对于(设默认名称){ 如果(!(选项中的名字)) options[name] = defaults[name]; } var domComponent...
artf
如果你想在字符串里附加一个函数,你必须传递字符串 “''js drawGauge: 'function(id){ alert(1); } ``
suchithmahadi
抱歉@artf我没听懂你具体说什么,能详细说说吗? 这里我想调用domComponents脚本函数中的函数(“drawGauge”,位于第三行)。 请解释一下与上述问题相关的内容。 谢谢你的帮助。 请帮帮我,这对我来说非常关键,我已经卡住了一周。
artf
在你的“脚本”属性中,“{[ d ]}' 会被替换成 componet 的 'd' 属性,这不能是一个函数,所以如果你的最终结果应该是这样的: “''js var di = function() {...};
#4442017年10月23日作者 ronaldaug3 个回答
你好, 首先,感谢你贡献了这样一个出色的 js 框架。 我对葡萄非常陌生。GitHub 也是。 https://github.com/artf/grapesjs/wiki/Components-&-JS#template-related 根据 grapesjs wiki,我在画布里加载 js 链接,就像上面的代码一样,运行正常。 但当我尝试用这种CSS链接时,它不起作用。 这里有人建议直接在id=“gjs”下面添加那些CSS链接。 我做了,但如果我清理画布,CSS链接也会被清理,CSS就不再工作了。 我的问题是,我该如何将CSS链接加载到头标签中?
artf
你差点就到了:) “''js 画布:{ 斯泰尔斯:“https://......” } ```
ronaldaug
非常感谢@artf,效果非常好。
coder-strange
渲染时必须单独添加,getHtml() 里不会有。
#4432017年10月21日作者 roytang2 个回答
我们想定义一个自定义组件,可能会被添加到也可能不会,但我们希望不允许添加多个该组件。这个限制可以在GrapesJS里实现吗?
artf
虽然不是内置的,但用 GrapesJS 的 API 绝对可以实现 非常简单的方法是添加一个监听器(例如,'change:changesCount'),搜索组件,然后应用你的逻辑 “''js editor.on('change:changesCount', () => { editor.getComponents().each(model => ...) }) ```
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#4422017年10月21日作者 roytang3 个回答
我们想创建一些自定义组件,这些组件的样式会根据外部主题CSS发生变化(可以有不同的主题),并且希望这些样式在编辑时能出现在画布中。
roytang
请忽略。我最终用JavaScript把样式表链接注入Grapes的画布iframe里 将外部样式表插入 Grapesjs 窗口 var iframes = Utilities_GetElementsByClass(“gjs-frame”, “IFRAME”, document.body); 对于(var i=0; i<iframes.length; i++) { var iframe = iframes[i]; var doc = iframe.contentDocumen...
artf
你可以通过Canvas配置选项注入脚本/样式 “''js const editor = Grapesjs.init({ ... 画布:{ 风格:['https://...', '...'], 脚本:['https://...'], } }); ```
#4412017年10月20日作者 santiph3 个回答
由于 https://github.com/artf/grapesjs/issues/436,我无法依赖 StorageManager 的远程加载方法从 REST 端点加载模板,所以我只能用 'editor.setComponents()' 和 'editor.setStyle()' 这两个替代工具(这些工具在命令中使用,所以可以使用 'grapesjs' 和 'editor')。 不幸的是,这些方法会让“changesCount”增加,并在用户试图离开网页时触发“onbeforeunload”事件。 此外,命令中包含诸如“editor.editor.set('changesCount', 0);”这样的句子是无用的,因为命令一结...
artf
@santiph好,如果问题是“onbeforeunload”,可以用“noticeOnUnload”禁用它。 “''js Grapesjs.init({ ... noticeOnUnload: false }) ```
santiph
你好@artf 我需要持续提醒用户任何未保存的更改。当没有新内容需要保存时,跳过它:当创建新的空模板时,无论是保存完还是加载模板后,都不应显示任何确认信息。 通过StorageManager保存场景是正常的。加载时不行,遗憾的是。至少当组件、样式、HTML 等内容是通过编辑器的 API 加载,而不是通过 StorageManager .load() 加载时,是这样。
santiph
我可以用远程存储完整测试: “onbeforeunload”在保存后关闭时如预期般被禁用。 不幸的是,加载新模板后关闭时,它仍然显示。 经过一番调试,加载新模板似乎会将“changesCount”提高到1。 (加载“changesCount” = 1。加载 'changesCount' = 2.加载“changesCount” = 3.) 如果模板更改的原因是加载新模板,这个计数器怎么可能重置?
#4402017年10月20日作者 ateshuseyin3 个回答
我在项目中使用jquery。0.12.8版本之后,它无法与jquery兼容。 我的webpack.config的prt是; 当我尝试放下方块时,它会扔出去;ComponentsView.js:76 未捕获类型错误:无法读取未定义的属性“长度” at child.addToCollection (ComponentsView.js:76) at child.addTo (ComponentsView.js:22) 在 triggerEvents (backbone.js:371) at triggerApi (backbone.js:356) 在eventsApi(backbone.js:155) 在孩子时。Events.trigg...
artf
你所有的方块都会出现同样的错误吗?即使是官方的?
ateshuseyin
右。我在 mjml 插件中定义的所有方块都遇到同样的错误。
artf
好的,我想弄清楚这是不是和jquery有关。你能在没有 mjml 插件的情况下复现它吗?(最新版本)