Give the gift of Drupal. All merchandise is 50% off through 2016.
I'm trying to plan out my first Drupal site, which will begin as a simple prototype but should later become a more elaborate site serving as the public face of a growing business. I'm puzzled by one aspect of how to design the site with Drupal.
The site will have multiple pages which share an overall look and feel, but will have different content, and to a great extent, different layouts. Different types of content will appear on different pages. Some pages will need sidebars; others will have no use for them. This seems almost inevitable to me; if a web site needed only one layout and one combination of content types, it would have only one page.
But that does not seem to be how Drupal works. The appearance of every page is governed by a single layout which is created by placing blocks in a fixed order in each region of a single theme. In other words, Drupal "wants" every page on a site to look the same.
As I understand it, the pure "Drupal way" of creating a multi-page site works like this. First, define the blocks that are to appear on every page. Next, place the blocks in the theme in such a way that the blocks which are to appear on each page of the site are found in the proper region of the theme in the proper order. Then, configure each block to appear only on the page(s) where it is wanted.
That's manageable for a site that has only two or three pages, but if there were a dozen, the process would get so unwieldy that it would be impractical. And in the real world, a web site with a dozen pages is pretty darn small.
I have found several contributed modules that enable Drupal to generate different pages with different themes (and presumably different layouts): Organic Groups, Sections, Taxonomy Theme, and View-Theme. I can use one of those to do what I want (although I face the problem of deciding which one best fits my needs). I think I must be missing something basic, though: it seems implausible that the Drupal core would lack an effective means of doing something this basic.