My front page needs to look like the following:


The header, navigation, and white content areas are part of my page.tpl.php, and show up on all pages.

I'm assuming I can power the blue Image Carousel by creating a content type that contains an image and caption, then create a view that pulls those images out of the database.

Below that are 3 areas which contain different stuff.

"1" is an image that is a link. The image and link need to be controllable by the admin. "2" is a Facebook social plugin. I'm assuming I can just create a content block and paste the HTML from Facebook into that and assign that block to show up on the front page, somehow. "3" is another, smaller, image carousel, but will most likely use a different content type (assuming I should be using content types for this at all).

What is the best way to put this page together?
It doesn't need to be completely flexible from the admin screens. I'm OK with building a front page template.

How would you build this page? I'm getting to the point where I can get things to work, but I don't think I'm doing them in the most efficient and/or Drupalish way.

2 Answers 2


I'd use Panels to handle the layout. Panels will allow you to create a customized front page without using any templates from within the Panels interface. I can't describe in detail how to use Panels here but Node One has an excellent series of screencasts on Page Manager and Panels.

Using Panels will allow you to easily give the front page a unique look which you can change at any time by simply logging in to the site (as an admin) and opening up the Panels interface.

For the slideshow, try the Views Slideshow module. It is well-documented (links on the module page) so you shouldn't have too hard of a time setting it up, and it is widely used (more than 100,000 sites).

  • I'll go check out that screencast, Patrick! Thanks for the advice! May 30, 2012 at 0:26
  • Panels made this work very nicely, thank you for the suggestion! Jun 4, 2012 at 6:09

Panels is very weighty module and views is also. So i would not advice you panels for such simple thing as that.

You could use views to generate your carousel (Nivo Slider, Views Slideshow or etc) or you can implement any kind of other slideshow/carousel script. If you want other you would have to edit a view template by your means.

Then i would create a page--front.tpl.php (just copy your page.tpl and rename - it assumes that you already have those blocks, header and navigation, you could use any of useful for your theme, Framework for example. More info about theme hook suggestions.

After you could embed your view with a block in this page directly where it needs to be.

<?php print views_embed_view('slider', 'block'); ?>

Where slider is the machine name of the view and block is the id of your block.

Or you can simply put a block to a region created for that or if it exists for another content.

With blocks it`s rather simple just create it and put there anything you want, edit your blocks in that region with css to display proper. 1st and 3rd block can be simply build with views. Try to learn some from views tutorials, this one for example.

Hope it will help. Good luck

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.