I am new to theming Drupal and I am trying to create a responsive website based on Bootstrap with an image slider at the top.

I know that there are modules like Views Slideshow and FlexSlider. However, I don't want to install a module when I don't have to. I would like to just create a content type specific to the slider with just the fields that I need and have the slider that is "embedded" in the theme simply load the content depending on whether it was published or not.

Can this be done? Are there benefits/drawbacks to what I am attempting to do here?

I am not fluent in the Drupal theming lingo yet so I don't know if I am asking the question the right way.

  • You could create a content type, a view to display published nodes, and alter the rendering of the view to use Bootstrap's carousel.
    – Ben
    May 6, 2015 at 14:32

1 Answer 1


You can do pretty much anything you want with custom code, including this. The question is should you use custom code or an existing module that provides the functionality you're after.

The answer depends on your specific situation.

For example if you have limited time/budget it may be better to go with something that's already available, like views slideshow, and keep as much of your budget as possible for other tasks.
However there might be some reason that option isn't ideal, like maybe the modules have lots of functionality you don't need and you want to code something more specific to your requirements.

Another possible issue might be that the existing module doesn't do something exactly the way you need it to, so then you have to decide whether you write a patch to modify that module or if you want to write custom code.

This question deals with pros and cons of using custom code instead of existing modules.

Your Answer

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

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