Gantry Framework: new page loads homepage content instead of page content

The Crystalline theme rolls it’s own templates, which it calls overrides, instead of using the standard WordPress templating approach. In WordPress, the standard way is to create multiple template files inside the theme directory, then choose which template to use when editing a page in the WordPress dashboard.

With Crystalline there is a single template file, called index.php. This template file then makes calls to the Gantry framework in order to figure out what to display. So, you create separate overrides within the Crystalline settings area. Then, you have to specify which pages use which override, again from within the Crystalline settings area.

Once you do this everything works as planned.

So, here’s the logical flow of what’s going on (again, as best as I can tell):

  1. Page request comes in.
  2. WordPress engine tells the Crystalline WordPress template to display the page.
  3. Crystalline WordPress template makes a bunch of calls to the Gantry Framework.
  4. The Gantry Framework determines what Gantry template to use based on it’s own internal settings.
  5. Finally, Gantry spits out some HTML, JS, and CSS.

Here’s how you actually add templates to Crystalline (Gantry) and specify which pages should use which templates:

  1. From the WordPress dashboard, click the Crystalline button in the lower left corner.
  2. There is a dropdown menu labelled “Default Settings”, this is your list of overrides (templates).
  3. Selecting an override will allow you to make changes to the style, layout and widgets it uses.
  4. The assignments tab for each override is where you specify which pages use that override.