Create a Block of Social Media Icons using CCK, Views and Nodequeue

I recently decided that I wanted to have a block displayed in a sidebar on my site containing icons and links to my social media profiles - Twitter, Facebook etc. I tried the Follow module, but it lacked the option to add extra networks such my Drupal.org account, and my RSS feed. I started to create my own version, and then found this Blog post by Hank Palan.

I created a 'Social icon' content type with the body field removed, and with fields for a link and image - then downloaded the favicons from the appropriate websites to use.

However, instead of using a custom template (node-custom.tpl.php) file, I used the Views module.

I added fields for the node titles, and the link from the node's content. Both of these are excluded from being displayed on the site. I then re-wrote the output of the Icon field to create the link using the URL, and using the node's title as the image's alternative text and the link's title.

I also used the Nodequeue module to create a nodequeue and arrange the icons in the order that I wanted them to be displayed. Once this was added as a relationship within my View, I was able to use node's position in the nodequeue as the sort criteria.

To complete the process, I used the CSS Injector module to add some additional CSS styling to position and space out the icons.

Was this useful?

Sign up here and get more like this delivered straight to your inbox every day.

About me

Picture of Oliver

I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.