我想在WFFM表单字段类型中添加其他属性。
的左侧具有属性我想将自己的部分和属性添加到此区域。 这可以轻松完成而不会覆盖现有的字段类型或使用核心代码进行黑客攻击吗?
我真的不想重新创建例如单行文本字段只是为了添加我自己的属性字段。
答案 0 :(得分:3)
不幸的是,唯一实现它的方法是在代码中创建自定义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;
}
}
然后,您可以通过Parameters
FieldItem
的{{1}} - FieldItem [“参数”]
有关完整示例来源,请参阅此帖;
http://jonathanrobbins.co.uk/2015/10/06/sitecore-marketplace-module-secure-file-upload/