【问题标题】:Restricting parts of the Sitecore Web Forms for Marketers (WFFM) Wizard限制营销人员的 Sitecore Web 表单 (WFFM) 向导的部分内容
【发布时间】:2013-06-15 05:24:11
【问题描述】:

限制 WFFM 插入表单向导的特定部分的最佳方法是什么?

具体来说,我想限制某些用户从头开始创建表单,并且只向他们提供复制现有表单的能力。我可以在没有代码的情况下做到这一点吗?是否有一个我没有看到的地方埋藏着?

【问题讨论】:

  • 您开始编写一些代码,我们将帮助您解决错误。
  • @vdbuilder - 不幸的是我并不真正了解 .net。对于这个问题,我来自更多的业务需求方面。我非常精通 Sitecore 管理方面的事情,所以我希望有一种“简单”的方法可以通过更改 Core db 中一些难以找到的设置来做到这一点。

标签: sitecore sitecore6 web-forms-for-marketers


【解决方案1】:

我认为没有可用的设置或权限来控制您的要求。

您可以尝试的一种方法是对 Sitecore.Forms.Shell.UI.CreateFormWizard 类进行子类化(在 Sitecore.Forms.Core 程序集中)。然后,您将覆盖 OnLoad 方法,执行一些逻辑以确定当前用户是否应该能够通过向导创建新表单,然后显示/隐藏用于创建新表单的单选按钮。

类似这样的:

public class CreateFormWizardExtended : Sitecore.Forms.Shell.UI.CreateFormWizard
{
    protected override void OnLoad(EventArgs e)
    {
        base.CreateBlankForm.Visible = Sitecore.Context.User.IsInRole("sitecore\\AllowedToCreateForms");
        base.OnLoad(e);
    }
}

然后您需要修改 CreateFormWizard xml 控件:

/sitecore/shell/Applications/Modules/Web 表单 营销人员/CreateFormWizard.xml

改变这一行:

<WizardForm CodeBeside="Sitecore.Forms.Shell.UI.CreateFormWizard, Sitecore.Forms.Core">

改为使用您刚刚创建的类,如下所示:

<WizardForm CodeBeside="MyNamespace.CreateFormWizardExtended, MyAssembly">

我没有测试过这种方法,但理论上它应该可以工作。

希望这会有所帮助!

【讨论】:

  • 感谢亚当!我希望有一个解决方案,我可以作为更多的商业用户来实施,但我会把它带给我们的开发人员,看看他们是否能做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多