Пример #1
0
        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);
        }
        protected override DriverResult Display(SummaryCardsMetaTagsPart part, string displayType, dynamic shapeHelper)
        {
            if (displayType != "Detail")
            {
                return(null);
            }

            var resourceManager          = _wca.GetContext().Resolve <IResourceManager>();
            var summaryCardsTagsSettings = _wca.GetContext().CurrentSite.As <SummaryCardsMetaTagsSettingsPart>();

            if (summaryCardsTagsSettings.RenderOutput)
            {
                if (summaryCardsTagsSettings.CardTypeTagEnabled && part.CardType != "select")
                {
                    resourceManager.SetMeta(SocialMetaTagsHelpers.BuildMetaTag("twitter:card", part.CardType));
                }

                if (summaryCardsTagsSettings.CardTitleTagEnabled && !String.IsNullOrWhiteSpace(part.CardTitle))
                {
                    resourceManager.SetMeta(SocialMetaTagsHelpers.BuildMetaTag("twitter:title", part.CardTitle));
                }

                if (summaryCardsTagsSettings.CardDescriptionTagEnabled && !String.IsNullOrWhiteSpace(part.CardDescription))
                {
                    resourceManager.SetMeta(SocialMetaTagsHelpers.BuildMetaTag("twitter:description", part.CardDescription));
                }

                if (summaryCardsTagsSettings.CardImageTagEnabled && !String.IsNullOrWhiteSpace(part.CardImage))
                {
                    resourceManager.SetMeta(SocialMetaTagsHelpers.BuildMetaTag("twitter:image", part.CardImage));
                }

                if (summaryCardsTagsSettings.CardSiteTagEnabled && !String.IsNullOrWhiteSpace(part.CardSite))
                {
                    resourceManager.SetMeta(SocialMetaTagsHelpers.BuildMetaTag("twitter:site", part.CardSite));
                }

                if (summaryCardsTagsSettings.CardCreatorTagEnabled && !String.IsNullOrWhiteSpace(part.CardCreator))
                {
                    resourceManager.SetMeta(SocialMetaTagsHelpers.BuildMetaTag("twitter:creator", part.CardCreator));
                }
            }
            return(null);
        }
Пример #4
0
        protected override DriverResult Display(AuthorshipMetaTagsPart part, string displayType, dynamic shapeHelper)
        {
            if (displayType != "Detail")
            {
                return(null);
            }

            var resourceManager    = _wca.GetContext().Resolve <IResourceManager>();
            var googleTagsSettings = _wca.GetContext().CurrentSite.As <AuthorshipMetaTagsSettingsPart>();

            if (googleTagsSettings.RenderOutput)
            {
                if (googleTagsSettings.AuthorRelTagEnabled && !String.IsNullOrWhiteSpace(part.GPAuthorProfileUrl))
                {
                    resourceManager.RegisterLink(SocialMetaTagsHelpers.BuildLinkEntry("author", part.GPAuthorProfileUrl));
                }
                if (googleTagsSettings.PublisherRelTagEnabled && !String.IsNullOrWhiteSpace(part.GPPublisherProfileUrl))
                {
                    resourceManager.RegisterLink(SocialMetaTagsHelpers.BuildLinkEntry("publisher", part.GPPublisherProfileUrl));
                }
            }
            return(null);
        }