我想通过 WFFM 在参与计划的特定状态下注册 Sitecore 访问者。为此,我在参与计划中采取了保存操作并输入了参数
<Host>smtp.gmail.com</Host><Port>587</Port><Login>mail@gmail.com</Login><Password>password</Password><IsBodyHtml>true</IsBodyHtml><enableSSL>true</enableSSL>
而且我还在该保存操作中添加了 State。
但是提交按钮时出现以下错误: 注册参与计划错误。
请问这个问题的解决方法是什么?
这个错误发生在我的日志文件中:
2504 21:17:36 INFO AUDIT (sitecore\admin): Save item: master:/sitecore/system/Modules/Web Forms for Marketers/Settings/Actions/Save Actions/Enroll in Engagement Plan, language: en, version: 1, id: {1B8ED61B-5B36-4C49-9736-2C4A87795D71} 10116 21:17:38 INFO AUDIT (sitecore\admin): Save item: master:/sitecore/system/Modules/Web Forms for Marketers/Settings/Actions/Save Actions/Enroll in Engagement Plan, language: en, version: 1, id: {1B8ED61B-5B36-4C49-9736-2C4A87795D71} 2504 21:17:39 INFO AUDIT (sitecore\admin): Save item: master:/sitecore/system/Modules/Web Forms for Marketers/Settings/Actions/Save Actions/Enroll in Engagement Plan, language: en, version: 1, id: {1B8ED61B-5B36-4C49-9736-2C4A87795D71} 2504 21:17:44 INFO HttpModule is being initialized 2504 21:17:58 WARN no such user exists Exception: System.InvalidOperationException Message: no such user exists Source: Sitecore.Forms.Custom at Sitecore.Form.Submit.EnrollInEngagementPlan.Execute(ID formid, AdaptedResultList fields, Object[] data) at Sitecore.Form.Core.Submit.SubmitActionManager.ExecuteSaving(ID formID, ControlResult[] list, ActionDefinition[] actions, Boolean simpleAdapt, ID sessionID)
最佳答案
您收到该错误的原因是 Webforms 正在尝试在参与计划中注册关联的 ExternalUser。可能您的访问者没有关联的用户,这就是您收到错误的原因。
因此你有两个选择:
首先根据表单字段创建用户,然后将该用户与访问者相关联。这可以在单独的操作中完成。之后,您可以应用注册参与计划操作。
编写您自己的操作,改为让当前访问者加入参与计划。但输入的数据与访问者没有任何关联。
关于sitecore - 使用 WFFM 在 Sitecore 参与计划中注册访问者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075929/