protected override DriverResult Display(OpenGraphMetaTagsPart part, string displayType, dynamic shapeHelper) { if (displayType != "Detail") { return(null); } var resourceManager = _wca.GetContext().Resolve <IResourceManager>(); var openGraphTagsSettings = _wca.GetContext().CurrentSite.As <OpenGraphMetaTagsSettingsPart>(); var contentItem = part.ContentItem; var dict = new Dictionary <string, object> { { "Content", contentItem } }; var defaultSettings = part.TypePartDefinition.Settings.GetModel <OpenGraphMetaTagsPartSettings>(); if (openGraphTagsSettings.RenderOutput) { if (openGraphTagsSettings.OgTitleTagEnabled && !String.IsNullOrWhiteSpace(GetValue(part.OgTitle, defaultSettings.OgDefaultTitle))) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogtitlekey", "og:title", _tokenizer.Replace(GetValue(part.OgTitle, defaultSettings.OgDefaultTitle), dict))); } if (openGraphTagsSettings.OgTypeTagEnabled && part.OgType != "select" && defaultSettings.OgDefaultType != "select") { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogtypekey", "og:type", _tokenizer.Replace(GetValue(part.OgType, defaultSettings.OgDefaultType), dict))); } if (openGraphTagsSettings.OgImageTagEnabled && !String.IsNullOrWhiteSpace(GetValue(part.OgImage, defaultSettings.OgDefaultImage))) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogimagekey", "og:image", _tokenizer.Replace(GetValue(part.OgImage, defaultSettings.OgDefaultImage), dict))); } if (openGraphTagsSettings.OgUrlTagEnabled && !String.IsNullOrWhiteSpace(GetValue(part.OgUrl, defaultSettings.OgDefaultUrl))) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogurlkey", "og:url", _tokenizer.Replace(GetValue(part.OgUrl, defaultSettings.OgDefaultUrl), dict))); } if (openGraphTagsSettings.OgDescriptionTagEnabled && !String.IsNullOrWhiteSpace(GetValue(part.OgDescription, defaultSettings.OgDefaultDescription))) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogdesckey", "og:description", _tokenizer.Replace(GetValue(part.OgDescription, defaultSettings.OgDefaultDescription), dict))); } if (openGraphTagsSettings.OgLocaleTagEnabled && !String.IsNullOrWhiteSpace(part.OgLocale)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("oglocalekey", "og:locale", part.OgLocale)); } if (openGraphTagsSettings.OgSiteNameTagEnabled && !String.IsNullOrWhiteSpace(part.OgSiteName)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogsitenamekey", "og:site_name", part.OgSiteName)); } if (openGraphTagsSettings.FbAdminTagEnabled && !String.IsNullOrWhiteSpace(part.FBAdmins)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("fbadminskey", "fb:admins", part.FBAdmins)); } } return(null); }
protected override DriverResult Display(OpenGraphMetaTagsPart part, string displayType, dynamic shapeHelper) { if (displayType != "Detail") { return(null); } var resourceManager = _wca.GetContext().Resolve <IResourceManager>(); var OpenGraphTagsSettings = _wca.GetContext().CurrentSite.As <OpenGraphMetaTagsSettingsPart>(); if (OpenGraphTagsSettings.RenderOutput) { if (OpenGraphTagsSettings.OgTitleTagEnabled && !String.IsNullOrWhiteSpace(part.OgTitle)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogtitlekey", "og:title", part.OgTitle)); } if (OpenGraphTagsSettings.OgTypeTagEnabled && part.OgType != "select") { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogtypekey", "og:type", part.OgType)); } if (OpenGraphTagsSettings.OgImageTagEnabled && !String.IsNullOrWhiteSpace(part.OgImage)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogimagekey", "og:image", part.OgImage)); } if (OpenGraphTagsSettings.OgUrlTagEnabled && !String.IsNullOrWhiteSpace(part.OgUrl)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogurlkey", "og:url", part.OgUrl)); } if (OpenGraphTagsSettings.OgDescriptionTagEnabled && !String.IsNullOrWhiteSpace(part.OgDescription)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogdesckey", "og:description", part.OgDescription)); } if (OpenGraphTagsSettings.OgLocaleTagEnabled && !String.IsNullOrWhiteSpace(part.OgLocale)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("oglocalekey", "og:locale", part.OgLocale)); } if (OpenGraphTagsSettings.OgSiteNameTagEnabled && !String.IsNullOrWhiteSpace(part.OgSiteName)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("ogsitenamekey", "og:site_name", part.OgSiteName)); } if (OpenGraphTagsSettings.FbAdminTagEnabled && !String.IsNullOrWhiteSpace(part.FBAdmins)) { resourceManager.SetMeta(SocialMetaTagsHelpers.BuildPropertyMetaTag("fbadminskey", "fb:admins", part.FBAdmins)); } } return(null); }