Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private readonly string newsType = "Telerik.Sitefinity.News.Model.NewsItem,Telerik.Sitefinity.ContentModules";
- protected void Page_Load(object sender, EventArgs e)
- {
- var relationFieldName = "Avatar";
- this.AddRelatedMediaFieldToContext(this.newsType,
- new Dictionary<string, string>()
- {
- {relationFieldName, string.Empty },
- });
- }
- private void AddRelatedMediaFieldToContext(string contentTypeFullName, Dictionary<string, string> relatedFields)
- {
- Type contentType = Type.GetType(contentTypeFullName);
- if (contentType == null)
- {
- throw new Exception(string.Format("{0} type can't be resolved.", contentTypeFullName));
- }
- var cfContext = new CustomFieldsContext(contentType);
- var relatedDataFields = new Dictionary<string, WcfField>();
- UserFriendlyDataType userFriendlyDataType = UserFriendlyDataType.RelatedMedia;
- var allowedImageExtension = Config.Get<LibrariesConfig>().Images.AllowedExensionsSettings;
- var provider = "OpenAccessDataProvider";
- foreach (var relatedField in relatedFields)
- {
- var field = new WcfField()
- {
- Name = relatedField.Key,
- ContentType = contentTypeFullName,
- FieldTypeKey = userFriendlyDataType.ToString(),
- IsCustom = true,
- //Field definition
- Definition = new WcfFieldDefinition()
- {
- Title = relatedField.Key,
- FieldName = relatedField.Key,
- FieldType = typeof(RelatedMediaField).FullName,
- AllowMultipleSelection = true,
- FrontendWidgetTypeName = typeof(NewsView).FullName,
- RelatedDataProvider = provider,
- RelatedDataType = typeof(NewsItem).FullName,
- MediaType = "image",
- ValidatorDefinition = new Telerik.Sitefinity.Web.UI.Validation.Definitions.ValidatorDefinition(),
- FileExtensions = allowedImageExtension
- }
- };
- relatedDataFields.Add(relatedField.Key, field);
- }
- cfContext.AddOrUpdateCustomFields(relatedDataFields, contentType.Name);
- cfContext.SaveChanges();
- SystemManager.RestartApplication(OperationReason.KnownKeys.StaticModulesUpdate);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement