# Features and Functionality

## Create a layout file

A layout file is with everything that goes with a normal HTML page to do so. Layout files are used as a template to create new pages and with the extension. Tpl in /content/layouts stored.

## Set placeholder for menus, blocks, and editable regions

Important! If no wildcard awarded and no menu and block files are created, the "Edit" does not appear in the Admin. If this behavior is desired, the variable set in the file "/settings/globalvars.php" $webutler_config['fullpageedit'] are set to 1, to move the "Edit Current Page" in the Admin. !!!

### Working with placeholders

This new links appear automatically on all pages, menus can be stored in separate files. In order for a menu is loaded, the file name must be written with comment fields in the layout file or page. Format:
<!-- begin_menu_MENUFILEAME -->
<!-- menu_MENUFILENAME -->
<!-- end_menu_MENUFILENAME -->
Blocks are on offer, when a content on different pages to be displayed and you want to change this content centrally. The formatting is the same for the menus:
<!-- begin_block_BLOCKFILENAME -->
<!-- block_BLOCKFILENAME -->
<!-- end_block_BLOCKFILENAME -->
Content areas that are to be opened in the editor are enclosed in comments. Format:
<!-- begin_content -->
editable content
<!-- end_content -->
The comments should be of an HTML block element enclosed (best DIV) and may not be nested, eg a menu within <!-- begin_content --> and <!-- end_content -->.

## Grid elements

For a smooth paste new grid elements the award of CSS classes to the various page elements is mandatory.

Who would not take advantage of the grid elements, set in the file /settings/globalvars.php the variables $webutler_config['insert grid'] and $webutler_config['admin grids'] set to 0.

### Identify elements through CSS classes

wb_menuelement - for menus
wb_blockelement - for blocks
wb_contentelement - for editable content
The classes can easily be awarded to an enclosing DIV.

The grid elements themselves have the class
wb_gridelement

All four classes are needed so that new grid elements are inserted only outside of DIVs with these classes. If the classes are not set, nesting can occur which would make the administration inoperable.

wb_menuelement and wb_blockelement also replace the old "block_border" and wb_contentelement replaced the class "content_border".

### Insert new grid

After a new grid elements from the Admin menu has been selected, it can be inserted before or after each page and present in the DIV with one of the four CSS classes. If none of the classes exist, no grid can be selected. It should therefore at least once are the class wb_contentelement in the layout file.

### Edit Grid

Add your own raster elements as well as the processing of the standard grid is possible under "System > Grids". Settings such as the grid-width or column spacing can be made in the CSS file "columns.css".

## Categorize pages and highlighting menu items

Since version 2.3 virtual categories can be created. Pages are allocated to these and the category will appear when called in the URL.

The menu item of the current page can be given with a CSS class a different look. When several menus another class is possible for each menu. The same applies to categories. Menu Links of parents categories can be visualized with a CSS class. If there are multiple menus on one page, you do with it virtually the path visible. Example:
URL: domain.com/cat_1/cat_2/cat_3/page.phtml
Category: /cat_1/cat_2/cat_3
Page: info.phtml
When the page is called info.phtml, the CSS class is applied to all links to /cat_1 and /cat_1/cat_2 in the URL have. Highlight the current categories means that the class is also applied to have links in the URL /cat_1/cat_2/cat_3.
The operation "to highlight current category" you will not usually need, I wanted this possibility but does not rule. The checkbox can be disabled in the "globalvars.php":
$webutler_config['highlite_current'] = "0";

## Javascript and PHP Code

<script> ... </script> and <?PHP ... ?> code snippets may only be included in the <head> and <body> of a page. Code snippets outside of <head> and <body> are set mess validation in the editor.

## Additional header / footer files

Files such as CSS or Javascript can be dynamically loaded into a page or all pages. This, the file must be passed to the page. There are 2 options. If general files to be inserted into all pages, they can be loaded via the file "globalvars.php". Just copy the following lines in the file or create a new file and includen in the "globalvars.php":
$webutler_autoheaderdata[] = '<script type="text/javascript" src="headerscript.js"></script>';
$webutler_autofooterdata[] = '<script type="text/javascript" src="footerscript.js"></script>';
If files are to be loaded on modules, the following can be put in the include file:
$webutlercouple->autoheaderdata[] = '<script type="text/javascript" src="headerscript.js"></script>';
$webutlercouple->autofooterdata[] = '<script type="text/javascript" src="footerscript.js"></script>';

## Session data

Sometimes it is useful to know the file name of the last page, for example, redirects or as an alternative to "history.back()". But can to the session variable $_SESSION['history']['lastpage'] be accessed.
If user login administration is installed, the authentication information of the user in the session variable $_SESSION['userauth'] will be saved.
For multilingual pages can be retrieved using the session variable $_SESSION['language'], the language chosen by the visitors.

## Forms

In each form contained on a page an additional hidden field is inserted. When a form is sent via POST from one side, the value of the hidden field with the value of the session variable $_SESSION['antixpost'] compared. The form will be sent only if the values ​​match. This operation is designed to help spam curb a little.