phpWCMS open source web content management system
This is the outdated phpwcms project site.
Something new is coming soon. Always keep in mind to check GitHub for the newest release.
page layout made easy
Short introduction to the page layout assistent

When I thought about phpwcms's functionalities this part of the cms was very important to me. "How can I setup my page layout?" must be the most common question users have when they start creating a website. Before implementing this I have seen many cms applications. But often the template creation is very difficult and hard to understand. That's why I have implemented a page layout assistent based on the most used static page layout: header, 3-column (1|2|3), footer and space row or column between the main blocks.


Page Layout Configuration

When you are logged in with admin rights you can setup templates and page layout configuration. Page layout is stored inside "include/ inc_conf/ conf.pagelayout.inc.php" every time you made a change. That's why you need write access to the file. Page layout configuration is planned to be extended in the way that every template can have its own page layout and is stored in database.

Specified values are used to render the base table when the frontend (index.php) is loaded. On the picture you can see how every "block" is predefined. It orients itself on general website layout but with flexibility to hide blocks if not sepcified (e.g. width or height is set to zero or nothing). Parallel to base table definition main page properties like margins, background color or JavaScript onLoad can be made.


If you have a look: page layout blocks are equivalent to template creation form. (Sorry! It's a bit strange to show everything with small images. Login to proof please.)


page layout form


template form

What you really have to do to find out how page layout is related to each value is testing. To do this fill in different colors and then specify height or width values. Try to switch between block layouts (3-column, 2-column left/right, 1-column). Spacer blocks are rendered if height or width larger than zero only. Here are some examples:


full block settings


full rendering


2-column left settings


2-column left rendering


2-column right settings


2-column right rendering


1-column settings


1-column rendering

Not every value is neccessary (I haven't removed all) in 2-column settings. But that's not important – the system knows how to handle this normally. The only thing you have to do is to calculate the table and cell width settings. It's also possible to use relative widths (like 100%, 25%) or mix relative and fixed widths.

Go on and read about templates