Sugarcrm 在重定向页面之前获取新创建的记录id

Sugarcrm 在重定向页面之前获取新创建的记录id,sugarcrm,suitecrm,Sugarcrm,Suitecrm,当我点击save按钮时,我想在重定向页面之前使用javascript检索新创建的记录的id 你有什么想法吗 谢谢大家! 在Sugar 7中实现这一点的一种方法是重写CreateView 这里是CustomCreateView的一个示例,它在成功创建新帐户之后,但在Sugar对创建的记录做出反应之前,在警报消息中输出新id 自定义/modules/Accounts/clients/base/views/create/create.js: { 扩展自:“CreateView”, //此初始化函数重写

当我点击save按钮时,我想在重定向页面之前使用javascript检索新创建的记录的id

你有什么想法吗


谢谢大家!

在Sugar 7中实现这一点的一种方法是重写CreateView

这里是CustomCreateView的一个示例,它在成功创建新帐户之后,但在Sugar对创建的记录做出反应之前,在警报消息中输出新id

自定义/modules/Accounts/clients/base/views/create/create.js:

{ 扩展自:“CreateView”, //此初始化函数重写除了登录到控制台外,不执行任何操作, //以便您可以看到您的自定义视图已加载。 //您可以完全删除此函数。Sugar将默认为CreateView的initialize。 初始化:函数选项{ 这个._超级“初始化”,[options]; 日志“自定义创建视图已初始化”; }, //saveModel是用于保存新记录的函数,让我们重写它。 //参数“success”和“error”是函数/回调。 //基于clients/base/views/create/create.js saveModel:functionsuccess,错误{ //让我们将自己的代码注入成功回调。 var custom_success=函数{ //执行我们的自定义代码并转发所有回调参数,以防您想要使用它们。 这个.customCodeOnCreatearguments //执行原始回调,它将显示消息和重定向等。 后继论点; }; //确保在通过回调调用自定义函数时,this变量将设置为_this_uview。 custom\u success=\uu.bindcustom\u success,这个; //让我们使用自定义回调调用原始saveModel。 这个._super'saveModel',[custom_success,error]; }, //我们的自定义代码 customCodeOnCreate:函数{ log'customCodeOnCreate使用以下参数调用:',参数; //检索模型的id。 var new_id=this.model.get'id'; //用身份证做点什么 如果{ 警报“新id:”+新id; } } } 我在Sugar 7.7.2.1的Accounts模块中测试了这一点,但是应该可以在Sugar中的所有其他sidecar模块中实现这一点。 然而,这将不适用于反向兼容模式下的模块,即URL中包含bwc的模块

注意:如果所讨论的模块已经有了自己的BaseCreateView,那么您可能应该从CreateView no Base扩展,而不是从默认的CreateView扩展

请注意,在Sugar升级过程中,此代码很可能会中断,例如,如果默认CreateView代码接收到saveModel函数定义中的更改


另外,如果您想进一步阅读扩展视图,这里有一篇关于此主题的SugarCRM开发人员博客帖子:

我在保存后使用logic hook解决了这个问题,供您参考,我使用的是Sugar 6.5,无论SuiteRM的版本如何


谢谢大家!

这需要向服务器发送一条异步消息,创建记录并使用记录id进行响应。查看Ajax并在客户端处理成功/失败。Sugar/SuiteCRM的哪个特定版本以及哪个特定模块(如果不是全部)需要它?我在保存后使用logic hook解决了这个问题,供您参考,我正在使用Sugar 6.5,无论suitecrm的版本如何。谢谢大家!@Hachim啊,所以毕竟没有javascript x很高兴听到你能自己解决这个问题:是的,我第一次想要一个使用javascript的解决方案,但是因为我发现这个解决方案只使用带有糖钩子的php,我认为这对我来说已经足够了。所以,毕竟非常感谢你,杰。