Inphusion includes a simple themes and templates system. Themes apply to an entire site, templates apply to a specific page within the site. In keeping with the framework's object architecture, the application itself is an object! Which theme and template to use is defined as attributes of the application object. The same chained constructors workaround used to instantiate an object is used to allow the output chain to be built, like this:
CApp_Proto | Base file - defined in Inphusion |
CAppThemed_Proto extends CApp_Proto | Base file - defined in Inphusion - adds sitewide themeing facilities |
CAppThemed extends CAppThemed_Proto | Theme file - defined by developer - applies to entire site |
CAppTemplated_Proto extends CAppThemed | Base file - defined in Inphusion - adds individual page template facilities |
CAppTemplated extends CAppTemplated_Proto | Template file - defined by developer - applies to a single page or type of page |
I can't be bothered to say anything more about this now since this is irrelevant to PlusNet for now... basically the _Proto files define interfaces which an application can call to write data into regions on a page... some parts of these are overridden by the theme and template files... etc...