#7252018年1月7日作者 hesa20202 个回答
你好,我想知道扩展编辑器的最佳途径是什么。 我想为我的项目添加几个功能:分屏视图(编辑/预览)CSS 编辑器(创建类、动画等,然后我可以设置元素使用该类)html编辑器(我相信用导入导出功能可以轻松完成)项目资源管理器(基本上选择一个文件,通过 ajax 加载) 那么,是应该为这个做多个“插件”,还是修改Grapejs Core? 如果这些功能已经存在或已经可能,请告诉我。 我应该从哪里开始走上正确的道路? 谢谢你,这是一个非常好的框架,我打算好好使用:D
artf
嗨@hesa2020 你绝对应该创建插件来定制编辑器,你可以从[这里](https://github.com/artf/grapesjs/wiki)开始阅读。 另一个重要的定制资源是 [API Reference](https://github.com/artf/grapesjs/wiki/API-Editor),如果遇到问题,可以先查看仓库的问题。对于分屏视图,请尝试检查[预览命令](https://github.com/artf/grapesjs/blob/dev/sr...
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#7242018年1月5日作者 kickbk3 个回答
拿到这个......拿(...)。每个都不是函数“,使用最新的0.12.58版本(CDN min.js)。 触发该命令的行是return 'this.get(“classes”).each(function(e){return t.push(e.get(“name”))}'
NicholasGati
只是想知道,'这.能(...)'吗?“返回阵列?”如果没有,也许你可以试试这个: 不确定是不是问题出在这儿,但我想插一句,帮帮:)
ryandeba
你好@kickbk, “这个”绑定在你的代码里具体是什么还不清楚......这是指某个组件吗?如果你能创建一个 jsfiddle 来演示这个错误,那会非常有帮助。 到目前为止我还没能重现这个错误。我在 [demo](http://grapesjs.com/demo.html)(目前也使用版本 0.12.58)中运行了这段代码,选中了一个随机组件后,它没有出错: 't = [];editor.getSelected().get(“classes”).each(function...
kickbk
谢谢大家回复。我追踪到问题出在自定义组件的特性上。 触发它的原因是我加载了特质的默认值: 如你所见,我的插件扩展在 grapesjs-mjml 上。 将默认值改为值也同样错误。 这是加载默认信息到特质的方式错误吗?
#7232018年1月5日作者 NicholasGati2 个回答
嘿,阿图尔! 我不确定“问题”是不是写这篇文章的合适页面,因为它更像是一个建议。 GrapesJS 版本之间需要变更日志。我们正在一个项目中使用GrapesJS,目前正在从旧版本切换到最新版本。虽然我们通过添加额外功能来定制库以满足内部使用,但如果能有详细的变更日志,记录不同版本之间更改的变量和函数,以及库的增减,那将非常理想。新版本似乎与旧版本兼容性不佳,如果知道需要修改什么,项目中切换版本带来的问题会很快解决。 谢谢!
artf
你好@NicholasGati, 你可以在GitHub发布中找到更新日志 https://github.com/artf/grapesjs/releases
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#7222018年1月5日作者 wvaymen3 个回答
我想知道有没有办法在方块面板里把方块添加到子分类里?
artf
“''js blockManager.add('your-block', { 标签:“标签”, 类别:“某类别”, 内容:“<div>内容</div>”, }); ```
#7212018年1月5日作者 wvaymen2 个回答
我有个关于将脚本JS注入GrapesJs的问题。 我能<script>用函数editor.getComponents().add()不注入javascript,而不是注入grapesJS吗?document.createElement('script')
artf
@wvaymen确定,但你必须先启用脚本导入 “''js const editor = Grapesjs.init({ ... allowScripts:1, }); editor.addComponents('<script>alert(1)</script>'); ```
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#7202018年1月5日作者 krunal0393 个回答
我想显示文档脏污指示,除非文档保存到数据库。我在编辑器里有自定义按钮,把html保存到数据库,我试过下面#551,但它只在从数据库加载HTML到Canvas时触发,之后没有任何更改触发。 'editor.on('change:changesCount', () => { const editorModel = editor.getModel(); const changes = editorModel.get('changesCount'); 如果(变化) { 展示肮脏计数 }`
artf
试玩版里试过,效果正常 “''js editor.on('change:changesCount', (model) => { console.log(“改变”); }); ```
austinbiggs
@artf - 我在代码里试过,什么都没发生。这对你有效吗? 我用的是v. 12.58 😄
artf
这对你有效吗? 是的,它和演示版(使用最新版本)是可以的。我在代码里试过,什么都没发生 你试过修改模板的结构吗?
#7192018年1月5日作者 richieteh943 个回答
我知道这是个老问题,但我遇到过一个问题,我尝试用 asp.net 来回复回复 以下是我的代码(服务代码,用于保存到目录并返回响应): (ASHX asp.net 代码) '背景。Response.ContentType = “文本/平板”; 背景。响应。过期 = -1; 试试看 { HttpPostedFile postedFile = 上下文。Request.Files[0] 作为 httpPostedFile; string tempPath = “/uploadImg”; 字符串 savePath = 上下文。Server.MapPath(tempPath); string filename = postedFile.Fil...
artf
在解析 grapesjs 的响应时存在错误 哪个错误???? 可能只是试着换个“语境”。Response.ContentType = “text/plain”;'Response.ContentType = “application/json”;'
richieteh94
你好,@artf错误是  我试着改变了“语境”。Response.ContentType = “application/json”;',但仍然会出现上述错误 我对服役的回应如下 。在你的开发工具里查看回复,你会看到的
#7182018年1月5日作者 krunal0392 个回答
有没有办法给特质添加描述?我们有以下特质,想添加描述,让用户理解它的目的。 ' 特质:[{ 类型:“勾选框”, 标签:“活跃”, 名称:“isActive”, 变革提案:1, 说明:“将上线页面滑块” }]` 
artf
没有,但你可以自定义[Traits](https://github.com/artf/grapesjs/wiki/Traits)并自定义['renderField'](https://github.com/artf/grapesjs/blob/dev/src/trait_manager/view/TraitView.js#L144)方法。
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#7172018年1月5日作者 endersaka3 个回答
嗨。我觉得这个项目非常棒。我特别感兴趣的是“README.md”页面中的内容,你展示了将Grapesjs连接到CMS的过程,我也读了#41期。 尽管有这些信息,我目前对葡萄的了解非常有限。不过我开始想象一种基于Grapesjs编辑的WordPress插件或主题实现的方法。 因此我想用“入门”方式。 正在把他们的页面/帖子或骨架加载到葡萄中 假设我们想加载主页,比如它被实现为主题中的[front-page.php](https://developer.wordpress.org/themes/basics/template-hierarchy/#front-page-display)。 在 WordPress 模板中,有几种不同的...
artf
你好,@endersaka,感谢你的感谢和建议。GrapesJS的WordPress插件确实是与CMS集成的一个很好的展示,但只是业余时间做项目,对WP代码库了解不深,这一直是个障碍。这个解决方案对你来说有意义吗?或者你会建议其他方法吗? 说实话,我不知道这是不是最好的方法,但确实很有道理:)
endersaka
@artf谢你的回答。我也有同样的空闲问题;不过我很可能会试试。今天早上我更仔细地阅读了组件文档,看到了一些机会。由于组件实际上存储在 Grapesjs 的 JavaScript 数据模型中,我不确定,但我看到有机会输出影响 Componet 模型的内容,而不是它们在编辑器中的 HTML 表示。我会继续调查,一旦有更多线索会告诉你。:-)
artf
太好了 👍由于组件实际上存储在 Grapesjs 的 JavaScript 数据模型中,我不确定,但我看到有机会输出影响 Componet 模型的内容,而不是它们在编辑器中的 HTML 表示。 没错,通常你会存储JSON对象,因为它能保留更多关于组件的信息,而HTML只是最终用户(不是WP管理员)能看到的“最终产品”
#7162018年1月5日作者 krunal0393 个回答
我不希望用户在模板的特定区域调整图片大小,但希望允许在画布上任意放置。 我希望用户只需选择图片,不允许为特定类别/元素调整大小。
artf
你可能需要在渲染时做类似的操作 “''js const wrapper = 编辑器。DomComponents.getWrapper(); Wrapper.View.$el.find('#someid img').each((el, i, $els) => { cont $el = $els.eq(i); const model = $el.data('model'); model & & model.set('resizable', 0); }); ```
faruk247
每个((el, i, $els),只需将 分别替换为 Each(function(el, i, $els) 完整代码: var wrappers = 编辑器。DomComponents.getWrapper(); Wrappers.View.$el.find('.rm-editable img').each( function(el, i, $els) { var $el = $els.eq(i); VAR model = $el.data('model'); model...
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。