问题 #481✓ 已解决提出于 2017年11月3日作者 mathieuk17 个反应

问题:将方块拖入文本方块?

快速解答作者 artf10

你检查过 [API-Rich-Text-Editor](https://github.com/artf/grapesjs/wiki/API-Rich-Text-Editor)吗?你可以添加类似的自定义动作 “''js 编辑。RichTextEditor.add('custom-vars', { 图标:“<select class=”gjs-field“> <option value=“”>- 选择 -</option> <option value=“[[firstname]]”>FirstName</option> <option value=“[[lastname]]”>LastName</option> <期权价值=“[[年龄...

阅读下方完整回答 ↓

问题

这不是bug,而是实现上的问题。如果这里不是提问的合适地方,请告诉我。 我们正在开发一个实现,希望利用 GrapesJS 允许用户创建电子邮件模板。作为实现的一部分,我们正在努力创建邮件合并功能:我们引入了“合并字段”或“占位符”的概念,这些概念将在服务器端用合适的值替换。这意味着我们会发送“组件”的JSON结构,并将其转为服务器端的HTML,并在操作过程中替换值。 举个例子,我们的一个用户可能会输入text: 'Hello <<username>>',我们会把合并字段'<<username>>'替换成合适的字段。 但我们还没能用这种方式实现,因为我们无法将这些块拖拽到文本块中。我们只能拖着它绕圈子。所以,目前我们用合并字段的“内联块”('<input type=text only readonly class=mergeField data-isMergefield=1 />')扩展了 RTE,并在块管理器中创建了带有相同 HTML 的合并字段块。实现一个 DomComponent 类型来识别它,提供了一种配置方法。但感觉不太理想,我们真的很想把合并字段块拖到文本字段的正确位置。 为了实现这一点,我想 GrapesJS 需要能够抓取 textNode,并将其拆分为(至少)两个 textnode 和一个合并字段的标签,但我不确定该从哪里开始。你能建议我们如何实施吗?

回答(3)

👍 最有帮助artf2017年11月6日

你检查过 [API-Rich-Text-Editor](https://github.com/artf/grapesjs/wiki/API-Rich-Text-Editor)吗?你可以添加类似的自定义动作 “''js 编辑。RichTextEditor.add('custom-vars', { 图标:“<select class=”gjs-field“> <option value=“”>- 选择 -</option> <option value=“[[firstname]]”>FirstName</option> <option value=“[[lastname]]”>LastName<...

artf2019年4月10日

很可能在下一次发布中,这个功能会上线。 ![可发短信](https://user-images.githubusercontent.com/11614725/55838123-a8791000-5b23-11e9-8866-c2059a972fc5.gif) 所以“textable”只是另一个属性,这样可以把任何组件丢弃在文本组件里。 以下是上述示例中组件的代码: “''js 定义一个具有“文本”属性的组件 编辑。DomComponents.addType('var-placeholder', { 型号:{ 默认值:{ 可文本:1, 占位符:“变量-1”, }, toHTML() { 返回...

mathieuk2017年11月8日

是的,我用过,基本上已经能用了。区别在于我不像你那样使用文本占位符。我实际上是在插入一个块(带有对应的“类型”),以便进一步配置这些占位符(例如,字段可能是Datetime字段,用户可能想配置该日期时间的精确输出格式)。我用HTML5拖放实现了这个功能,效果挺不错的,bút...... 这感觉像是偏离了预期的用户界面。我觉得我应该能把合并字段从“方块”拖到正确的位置。我一直在尝试分拣器来实现这个功能,我现在已经准备好了: ![图片](http://g.recordit.co/ept73MqtM8.gif) 现在我遇到了一个问题,分拣器非常需要实际的方块对齐,所以我还需要做一些调整。 目前实现...

相关问答

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

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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