Sometimes it is best to separate the layout completely from code. With the
CustomLayout component, you can write your layout as a
template in XHTML that provides locations of any contained components. The
layout template is included in the themes. This separation allows the layout
to be designed separately from code, for example using WYSIWYG web designer
tools such as Adobe Dreamweaver.
The container consists of items with textually represented locations. Each item contains one sub-component. The adapter and theme are resposible for rendering the layout with given style by placing the items on the screen in defined locations.
The definition of locations is not fixed - the each style can define its locations in a way that is suitable for it. One typical example would be to create visual design for a website as a custom layout: the visual design could define locations for "menu", "body" and "title" for example. The layout would then be implemented e.g. as plain HTML file.