Using the administration section Site Layout Funcionality's Layout Blocks section you can build up your site using blocks. Block is a synonim for div html tags which act exactly as blocks and can contain other blocks giving the designer a free hand on designing the site.
Each block has his own id that you define in admin, you can even define the content type it will hold. By default a block holds only other blocks and the content you enter in the content section. Now there are four type of content a dive can have:
-
Menu content (will look for menu blocks which are associated with this block and display them, usually used for things like Top Menu, Bottom Menu, Left Menu and so on)
-
Main Content (this block will display the main content of your site, for e.g. posts in a menu, module associated to a menu and so on)
-
Content (this is a simple block which can have different content/posts from the main content, when you create a new post you will be able to define the post to show up only in this block)
- Advertisement (will look for ads that are defined to show up in this block and display them)
Besides these content types you are free to enter manually any content to a block and not to mention you can even use Content Codes in these manually entered contents meaning you could even include another block from your site. For further details on content codes please see Features -> Content Codes.
Blocks can also be associated to menus two ways, one is you can say that a block should be shown only if X-Y menu(s) is/are selected, or the inverse of this, they should show up only if X-Y menu(s) is/are NOT selected.
If Multilanguage defined blocks can also be associated to languages just like to menus (display Only / Except language(s) selected).
They can also be associated to member status, for e.g. a block can be made to be displayed only if the user is logged in, or to display it only for guests users meaning if user is logged in they will be skipped.
Blocks can also be deactivated this way allowing you to hide a part of your site that you are working on without having to hide each posts/menus or any block content one by one.
You can define a limit for these blocks too, for e.g. if you set a Block content type to Content and define a limit of 2 and start adding posts to this block only the last two will be shown up with a paging option.
All blocks have id's even clases are added automatically like the language selected this way beeing able to access these blocks from css and customizing them in any ways you want. For js scripting jCore uses jQuery which is a powerfull Javascript library that enables you to access these blocks from js using the same id/class as you used to access them from css.
Using this block approach to build up a site designers won't need to do any coding on the site, they could set/build up the site from admin just by creating the blocks needed and designing them using CSS and Javascript.