【问题标题】:Extend Sitecore WFFM field type扩展 Sitecore WFFM 字段类型
【发布时间】:2015-11-08 18:56:19
【问题描述】:

我想向 WFFM 表单字段类型添加其他属性。

内置字段类型在表单设计器左侧有属性

我想在这个区域添加我自己的部分和属性。 在不覆盖现有字段类型或修改核心代码的情况下,这是否可以轻松完成?

我真的不想重新创建例如单行文本字段只是为了添加我自己的属性字段。

【问题讨论】:

  • 您使用的是 wffm 网络表单还是 mvc?什么版本的 wffm 和 sitecore?

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


【解决方案1】:

不幸的是,实现它的唯一方法是在实现现有字段的代码中创建自定义Field Type,例如Single Line Text。没有其他可以更改的配置,您必须通过代码添加属性,能够采用和扩展“核心”代码是 Sitecore 众所周知的。

但是添加这些属性真的很简单,如果你只是实现现有的,就不必重新开发每个字段。然后只需从Type 下拉列表中选择您的自定义单行文本并查看您的新属性。

实现现有的Fields 将为您提供Single Line Text 开箱即用的所有属性,现在您需要在新的class 中定义属性。属性本身是用视觉属性装饰的类的public properties

例如,我想要一个属性来保存FileUpload 字段的文件大小限制,这可以通过添加公共string 属性来完成;

public class CustomSingleLineText : SingleLineText
{
    private int _fileSizeLimit;

    // Make it editable
    [VisualFieldType(typeof(EditField))]
    // The text display next to the attribute
    [VisualProperty("Max file size limit (MB) :", 5)]
    // The section the attribute appers in
    [VisualCategory("Appearance")]
    public string FileSizeLimit
    {
        get
        {
            return this._fileSizeLimit.ToString();
        }
        set
        {
            int result;
            if (!int.TryParse(value, out result))
                result = 5;
            this._fileSizeLimit = result;
        }
    }

然后,您可以通过从FieldItemParameters 获取它来访问内容编辑器在提交时输入的属性值,甚至是验证器 - FieldItem["Parameters"]

有关完整示例来源,请参阅此帖子;

http://jonathanrobbins.co.uk/2015/10/06/sitecore-marketplace-module-secure-file-upload/

【讨论】:

  • 也不知道,这是正确的答案,无论采用哪种形式都需要一些编码。 +1
猜你喜欢
  • 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
相关资源
最近更新 更多