OpenGraph-snippet
Her er et kodeeksempel på en snippet som kan benyttes for å legge inn automatisk OpenGraph-funksjonalitet på en nettside.
<%@ Control Language="C#" Inherits="eR2UserControl" %>
<%@ Import Namespace="eR2" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
SetTags();
}
private void SetTags()
{
AddHeaderMetaTagToHeader("og:title", CurrentItem.Title);
AddHeaderMetaTagToHeader("og:description", CurrentItem.Teaser);
if (!string.IsNullOrEmpty(CurrentItem.Thumbnail))
AddHeaderMetaTagToHeader("og:image", "http://" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + CurrentItem.Thumbnail);
else if (CurrentItem.ShopProducts.Any() && !string.IsNullOrEmpty(CurrentItem.ShopProducts.FirstOrDefault().ImageUrl1))
AddHeaderMetaTagToHeader("og:image", "http://" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + CurrentItem.ShopProducts.FirstOrDefault().ImageUrl1);
AddHeaderMetaTagToHeader("og:site_name", Util.GetSetting("sidetittel"));
AddHeaderMetaTagToHeader("og:url", "http://" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + CurrentItem.GetValue("link"));
}
/// <summary>
/// Legger inn metatag i header dersom det er angitt en verdi.
/// </summary>
/// <param name="Name"></param>
/// <param name="Content">Dersom denne er tom legges ikke metataggen inn.</param>
private void AddHeaderMetaTagToHeader(string Name, string Content)
{
if (!string.IsNullOrEmpty(Content))
{
var metaTag = new HtmlGenericSelfClosingControl("meta");
metaTag.Attributes.Add("property", Name);
metaTag.Attributes.Add("content", Content.Trim());
this.Page.Header.Controls.Add(metaTag);
}
}
</script>