【问题标题】:Can't insert a Web Forms For Marketers form because there are no Placeholders由于没有占位符,无法插入营销人员的 Web 表单
【发布时间】:2012-04-26 12:54:57
【问题描述】:

我们正在尝试解决运行 .NET Framework 2.0 的 Sitecore 6.4.1 中的营销人员 Web 表单模块(我认为是 2.2,但我不知道如何判断)的一个老问题。我什至无法将表单添加到项目中。我假设我应该在我的项目的演示选项卡中使用“插入表单”按钮。

当我单击该按钮时,我会看到一个正常运行的向导,直到它告诉我以下信息:“没有允许的占位符来插入新表单。”

暂时忽略错误的语法问题,我认为它告诉我项目需要先决条件才能使其与表单一起使用。我环顾四周,认为可能与这个问题的问题有关:

Cannot get a Sitecore form to display in a placeholder (Web Forms for Marketers module)

所以我确定了一个表单在我的模板中。它现在在那里,但是当我在设备编辑器的表单项上单击“编辑”时,会在日志中引发“值不能为空”异常。

我也有一个占位符设置,因为我已经读到出于某种原因我需要它。它被命名为“form”,设置项是/content。

我错过了一个附加条件吗?我需要重新安装模块吗?

【问题讨论】:

  • 您的占位符设置是否实际上列出了允许的控件下的“表单”组件?
  • Mark Ursino 所做的建议是必不可少的(能够使用“插入表单”按钮放置表单)。通过查看@Placeholder 设置来验证这一点,看看您是否为“内容”定义了一个。在 Allowed 控件上添加 Webforms Rendering。通常也可以通过添加表单渲染并将其数据源设置为正确的表单来手动放置表单。
  • @MarkUrsino “允许的控件”在哪里?
  • 在我的系统上,它位于布局 --> 占位符设置 --> [站点名称]。您会看到每个内容项的图标(例如正文、内容、侧边栏)。每个都有一个允许的控件部分(在其数据类别中)。因此,找到您要允许表单的地方,选择编辑,然后向下钻取(布局--> 渲染--> 模块--> 营销人员的 Web 表单),从“所有”窗格中选择“表单”项并按右箭头按钮将其添加到选定窗格。然后保存。

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


【解决方案1】:

我怀疑您需要在允许包含表单的占位符列表中添加一个占位符。最简单的方法是使用 WFM 安装的 Restricting Placeholders 应用程序。登录桌面,在 Sitecore -> 所有应用程序 -> 面向营销人员的 Web 表单 -> 限制占位符下指定一个或多个表单可以存在的位置。

参见http://sdn.sitecore.net/upload/sdn5/products/web_forms2/web_forms_for_marketers_v2_reference_usletter.pdf,第 7 页左右。

【讨论】:

  • 我在发布问题之前就搞砸了,但没有提及。我在“限制占位符”对话框的选定一侧有“内容”占位符设置。这不是我需要做的吗?
  • 是的,应该这样做。但是,重新阅读您的问题听起来像是在您尝试编辑手动添加的表单呈现时引发了错误。据我所知,这不应该发生;表单渲染只是一个 shim,它存储对定义表单外观的实际表单项的引用。您能否在日志中发布空引用的堆栈跟踪?
【解决方案2】:

我遇到了类似的问题,经过很长时间发现不支持在占位符或引用它们的键中使用大写字母或单词。因此,在我将这些键更改为小写后,我的问题就消失了。

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多