Добавить мета-теги протокола Open Graph протокола Facebook в sharepoint - PullRequest
2 голосов
/ 19 апреля 2011

Когда мне нравится статья на нашем веб-сайте (www.potatopro.com) с лайком в Facebook и ссылкой на Facebook, происходит выбор неверных данных с сайта. Либо вы не можете изменить изображение, либо в другом случае Facebook выбирает навигацию вместо содержимого.

Насколько я понимаю, мне нужно использовать мета-теги открытого графа Facebook на нашем сайте. Но как мне сделать это для сайта на основе sharepoint ?! Пожалуйста, совет!

1 Ответ

3 голосов
/ 04 ноября 2011

Вы можете добавить веб-часть к разметке страницы, которую использует ваша страница.В веб-части вы добавляете функцию, которая находит заголовок, содержимое и изображение на странице и записывает метатеги на главную страницу, которую использует страница.Вот пример функции ...

protected override void Render(HtmlTextWriter writer)
    {
        if (SPContext.Current != null && SPContext.Current.ListItem != null)
        {
            SPListItem item = SPContext.Current.ListItem;
            var title = item["Title"];
            if (title != null)
            {
                writer.WriteBeginTag("meta");
                writer.WriteAttribute("property", "og:title");
                writer.WriteAttribute("content", title.ToString());
                writer.WriteEndTag("meta");
            }
            var pageContent = item["PublishingPageContent"];
            if (pageContent != null)
            {
                string strippedPageContent = Regex.Replace(pageContent.ToString(), @"<(.|\n)*?>", string.Empty);
                    writer.WriteBeginTag("meta");
            writer.WriteAttribute("property", "og:description");
            writer.WriteAttribute("content", strippedPageContent);
            writer.WriteEndTag("meta");
            }

            var pageImage = item["PublishingPageImage"];
            if (pageImage != null)
            {
                ImageFieldValue pageImageValue = pageImage as ImageFieldValue;
                if (pageImageValue != null)
                {
                    var url = pageImageValue.ImageUrl;
                    writer.WriteBeginTag("meta");
                    writer.WriteAttribute("property", "og:image");
                    writer.WriteAttribute("content", url);
                    writer.WriteEndTag("meta");
                }
            }

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...