Views is the most popular module of Drupal 7. I don't doubt it's the best solution for listing content on Drupal, as one of the Drupal strengths.

However, Views is not used everywhere. For example, this video shows how to create a product catalog in Drupal Commerce using Taxonomies and Menus.

This question is to ask for the cases where Views shouldn't be used, and why.


That's quite a subjective question, but generally speaking, use Views if

  1. You need it done quickly
  2. You need to allow flexible UI edit access
  3. You don't mind a slight performance hit
  4. You need Views for some other module integration ( VBO, views_data_export etc.. )

Otherwise, you can use custom page callbacks

  1. If you don't mind taking a bit longer to build
  2. You don't need UI edit access
  3. You want the fastest performance.
  4. You want to do something Views can't do, or that is much easier to do custom.
  5. You are a capable developer.
  • Whats the point in using a CMS if you don't use it?
    – iLLin
    Feb 21 '13 at 2:14
  • 1
    There's many roads to the mountain top. Feb 21 '13 at 2:34
  1. Don't use views if you are considering using more than a small number of 'relationships', 'contexts' or 'filters'.
  2. Put these in code as you may spend a lot of time trying to get the view stable. Putting into your head all the things under the various views options can be difficult. Use 'features' to help with version managing changes and avoid chaos from 'accidental clicking'.
  3. If you find yourself inserting things with [php] tags it is probably pushing it too far as editing php using the views interface is difficult.
  4. If you have 'relationships' or other computer science things and you need editors to be able to make specific changes to the view you may want to write a custom module that only exposes the options that need to be changed. Most editors don't understand what a 'relationship' is and few people have the understanding to model them in their head.
  5. If you are experienced writing php but not configuring views, then consider writing code. Views has it's own expertise that needs to be mastered.

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