Jeff Wallace
Sep 21, 2010
(3 votes)

ShareThis and FacebookLike Dynamic Content Modules plus a DropDown Property Type

Based on CMS 6.0

Sharing content with ones social networks is a popular topic in the web world today.  It can act as a means of free advertising or more simply as a way of letting your network know when you come across something fun, interesting, etc.  Adding ShareThis, AddThis, Facebook Like, etc buttons is very easy if you work with HTML or javascript frequently. After all, you can get the code for each with a few minor configurations and clicks on the respective organizations sites.  However, all Content Authors/Editors may not understand HTML/javascript or want to deal with it.  Or, maybe they just want a simple way to add and configure buttons at locations they desire through standard EPiServer methodologies.  I spent a bit of time creating some Dynamic Content controls which will allow just this capability.  For more on Dynamic Content read here.  Otherwise, continue on with more details of my efforts.


Here’s what I’ve created:

1. "ShareThis" Dynamic Content module

a. The Dynamic Content item allows a Content Author (Editor) to add a ShareThis button anywhere on the page through a friendly GUI
     i.  This may be beneficial for Content Authors who are not comfortable with adding this to the Editor HTML or Page Template ASPX
b. It allows the Content Author to configure the text associated with the button (when applicable)
c. It allows the Content Author to configure and select between different button types:
    i.   Multiple Icons
    ii.  Standard Icon
    iii. Rotating Icon
    iv. Vertical Counter
    v.  Horizontal Counter

d. clip_image001

e. image

2. "Facebook Like" Dynamic Content module

a. It allows the Content Author to configure the text associated with the button based on the pre-defined "Facebook Like" options:
     i.  Like
    ii.  Recommend
b. It allows the Content Author to configure and select between different button types:
     i.  Standard Icon
     ii. Button Count Icon

c. clip_image003

d. image

3. "DropDown" Custom Property

a. This includes custom settings based on the CMS 6 Settings on Properties functionality so that the user can configure the items listed in the DropDown
b. I use this in my Dynamic Content items above, but created it with the specific intent of making this useful for other purposes as well

c. clip_image005

d. clip_image006

Attached you will find the code and a basic ReadMe.txt file with instructions to set this up.  I’ll beg your forgiveness for not creating an installer.  :)  You will have to add the code files to your project, compile, and update episerver.config.  The code was written for the Alloy Technologies templates and CMS 6.  The associated directories and namespaces align with this but could easily be changed for other templates.  Also note, it would probably be an improvement to add a call to RegisterClientScriptBlock() for the script being added to the page.  Other optimizations and edits are also possible. This is merely a conceptual starting point and a nice way to demo Dynamic Content and social features.



Sep 21, 2010


Helen Hopkinson
Helen Hopkinson Sep 22, 2010 08:38 AM

Great stuff Jeff. Me like!

Sep 22, 2010 02:50 PM

Thanks Helen. :)

Sep 23, 2010 10:52 AM

Yes, well done!

Feb 4, 2011 03:11 PM

Caliming love to this dynamic content!! "Nice-a-licius"

Please login to comment.
Latest blogs
Display Child Pages in Content Delivery API Response

The below example will implement an instance of IContentConverterProvider to customise the serialisation of PageData and output child pages in the...

Minesh Shah (Netcel) | Oct 4, 2022

Bring the Report Center back in Optimizely CMS 12

The Report Center has been a part of Optimizely CMS since its first debut in version 5R2 in 2008, but in CMS 12, it's removed! Don't despair! Make...

Tomas Hensrud Gulla | Oct 4, 2022 | Syndicated blog

Customizing Property Lists in Optimizely CMS

Generic property lists is a cool editorial feature that has gained a lot of popularity - in spite of still being unsupported (officially). But if y...

Allan Thraen | Oct 2, 2022 | Syndicated blog

Optimizely names Luminary Senior Developer, Ynze Nunnink, OMVP

Luminary Senior Developer and Optimizely Lead, Ynze Nunnink has secured the coveted position of Optimizely MVP. Earning a Platinum badge for his...

Ynze | Oct 2, 2022 | Syndicated blog