How to Add Facebook Like button to product page of EPiServer Commerce
· Read the blog about How to add Facebook Like button to an EPiServer site from Eric Pettersson and I think about “Recommend” button on EPiServer Commerce site.
If some product from EPiServer Commerce site is good and recommended by user, maybe his/her friends like the same product and expose that product to their friends as well. So by having a recommend button on product page of your site, you could get free advertising to a lot of users world-wide, and off course without doing any old advertising style.
How do we add the Facebook Recommend button?
Go to Facebook and create your own button, should look something like this
1: <iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fexample.com%2Fpage%2Fto%2Flike&layout=standard&show_faces=true&width=450&action=recommend&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>
We need to change the “src” attribute of the iframe a little bit. We need to get our url instead of a static url.
For that, create a property looks like this:
1: /// <summary>
2: /// Gets the like URL for facebook.
3: /// </summary>
4: /// <value>The like URL.</value>
5: protected string LikeUrl
   6: {   7:     get   8:     {   9:         var siteurl = Configuration.Settings.Instance.SiteUrl;10: var page = Page as PageBase;
11: if (page != null)
  12:         {13: var code = page.CurrentPage.Property["ec"].ToString();
  14:             Entry entry = CatalogContext.Current.GetCatalogEntry(code);15: var ecfPagePath = GetProductUrl(entry, Request.QueryString["epslanguage"] ?? ContentLanguage.PreferredCulture.Name);
16: var link = new UrlBuilder(ecfPagePath);
  17:             var url = Server.UrlEncode(UriSupport.Combine(siteurl.ToString(), link.ToString()));18: return url;
  19:         }20: return Request.Url.ToString();
  21:     }  22: }  24:  25: private static string GetProductUrl(Entry entry, string language)
  26: {27: string str = string.Empty;
  28:     var languageSeo = entry.SeoInfo.Where(seo => seo.LanguageCode.Equals(language,  29:                                     StringComparison.OrdinalIgnoreCase)).FirstOrDefault();30: if (languageSeo != null)
  31:     {  32:         str = languageSeo.Uri;  33:     }34: return str;
  35: }Then change the “src” attribute in the iframe to use our new property instead:
1: <iframe src="http://www.facebook.com/plugins/like.php?href=<%= LikeUrl %>&layout=standard&show_faces=true&width=450&action=recommend&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>
Enjoy EPiServer Commerce and Facebook with this example :)

 
    
    
    
Nice! :)
Awesome! :)
/ Tobias Nilsson