1

我正在尝试在我正在构建的自定义 Sitecore 字段上检索当前字段名称。换句话说,如果我的自定义字段类型应用于名为“元标题”的字段,我需要能够检索该名称。

本教程意味着您所要做的就是创建一个名为 FieldName 的公共自动属性,剩下的就是历史......遗憾的是,它似乎不起作用(FieldName 始终为 null 或空)。

有任何想法吗?我试过继承Sitecore.Web.UI.HtmlControls.ControlSitecore.Shell.Applications.ContentEditor.Text但没有运气。

4

1 回答 1

3

您应该可以通过创建 FieldID 属性来访问控件中的字段 ID。这应该等同于定义字段的模板字段项的 ID。因此,您可以通过

var fieldItem = Sitecore.Context.ContentDatabase.GetItem(this.FieldID);
var fieldName = fieldItem.Name;

Sitecore 可以在您的控件上设置的属性的完整列表可以在 中找到Sitecore.Shell.Applications.ContentEditor.EditorFormatter.SetProperties

ReflectionUtil.SetProperty(editor, "ID", field.ControlID);
ReflectionUtil.SetProperty(editor, "ItemID", field.ItemField.Item.ID.ToString());
ReflectionUtil.SetProperty(editor, "ItemVersion", field.ItemField.Item.Version.ToString());
ReflectionUtil.SetProperty(editor, "ItemLanguage", field.ItemField.Item.Language.ToString());
ReflectionUtil.SetProperty(editor, "FieldID", field.ItemField.ID.ToString());
ReflectionUtil.SetProperty(editor, "Source", field.ItemField.Source);
ReflectionUtil.SetProperty(editor, "ReadOnly", readOnly);
ReflectionUtil.SetProperty(editor, "Disabled", readOnly);
于 2012-05-16T17:50:05.647 回答