Page Layout Library

Using RADpage a page layout can be defined once and be used for several pages. Upon page creation or import RADpage asks the user select a page layout for this page. Per default RADpage includes three page layouts:

  • Default layout means a plain page
  • Outline contains a site menu
  • Demo contains a colored site menu

More layouts can be created using the Import Layout function (File menu of RADpage) or by programming a layout in heitml with a text editor. The Import Layout function of RADpage turns an HTML page (created with an HTML editor for example) into a page layout. The HTML page should contain the word pagebody to indicate the position where the page body is inserted. The HTML page can also contain the word outlinemnu to indicate the position for the outline menu.

The rest of this page descibes how to program layouts. Per Web site there must be least one page layout file. A page layout file is an include file containing all the heitml definitions to specify the page layout of your Web site. You can also include style sheets or JavaScript code that are shared between pages.

Usually page layout files are contained in a subdirectory named layout. Each page must contain exactly one include tag for a page layout file.

Page layout files can be created by extending one of the imported or example layout files. deflayout is a plain layout, outlayout includes an outline menu, demolayout a colored menu and trylayout (in the try directory) is the layout used for the example pages.

Technically an outline file must at least contain one definition that redefines the HTML-body tag. This way a layout can predefine attributes of the body tag (like bgcolor) and can add headers, footers, or menues to a page. In any case, the redefined body tag should call the _body tag of layoutlib.hei to finally print the body tag and the _innerbody tag that should directly contain the page text.

<include name="layoutlib.hei"/>//
<include name="component.hei"/>//
//Insert any tag definitions here
<defenv body @p ...; inherit component; 
        defwysiwyg; defhtml; defautoclose;defcontpara;>
//enter any code to overwrite body parameters here 
//let p.bgcolor="#ffffff"; //Select white background for all pages
<_body p> //
//Enter a page header here
//Enter a page footer here

Layout Components and Tags

< _body p ... > ... </_body>

The <_body> environment should be called inside a page layout file inside the redefinition of the body tag. Parameter p must be a tuple containing the parameters of the original body tag. Additional parameters can be given and act as default value.

<_body> generates an HTML-body tag with the parameters given. It uses <stdloc> to define locations bgbody and endbody for the begin and the end of the document body. If requested by <bodyevent>, JavaScript event handler procedures are created. Note that the editing mode of RADpage requires the onload and onunload events. It will not work properly on a page if these locations are undefined.

< bodyevent name />

Requests <_body> to generate a JavaScript event handler procedure to be generated for a particular event. name must be the name of a JavaScript event allowed in the body tag, such as onload or onunload. <stdins> can then be used to add JavaScript code to the event handler. <bodyevent> must be called before the <_body> tag. <stdins> can be called until the end tag </_body>.

< _innerbody > ... </_innerbody>

should be wrapped directly around the defbody of the redefined body tag. It uses <stdloc> to define locations bgtext and endtext for the begin and the end of the document text. It is also required to initialize proper functioning of RADpage.

This page was dynamically generated by the web application development tool RADpage of H.E.I.
© 1996-2017 H.E.I. All Rights Reserved.

Component Guide
  Language Guide
  Language Ref.
  Component Ref.
  Class Library
    Library Files
    Std Library
    Ses Library
    Component Library
    Layout Library
    Outline Library
    HTML Extensions
    Date/Time Library
    Math Library
  User Components
  Tryout Form
  New Features
  heitml 1
User Guide
Discussion Group