function hook_page_build

Add elements to a page before it is rendered.

Use this hook when you want to add elements at the page level. For your additions to be printed, they have to be placed below a top level array key of the $page array that has the name of a region of the active theme.

By default, valid region keys are 'page_top', 'header', 'sidebar_first', 'content', 'sidebar_second' and 'page_bottom'. To get a list of all regions of the active theme, use system_region_list($theme). Note that $theme is a global variable.

If you want to alter the elements added by other modules or if your module depends on the elements of other modules, use hook_page_alter() instead which runs after this hook.


$page: Nested array of renderable elements that make up the page.

See also



Related topics

4 functions implement hook_page_build()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

block_page_build in modules/block/block.module
Implements hook_page_build().
dashboard_page_build in modules/dashboard/dashboard.module
Implements hook_page_build().
system_test_page_build in modules/simpletest/tests/system_test.module
Implements hook_page_build().
toolbar_page_build in modules/toolbar/toolbar.module
Implements hook_page_build().
1 invocation of hook_page_build()
drupal_render_page in includes/
Renders the page, including all theming.


modules/system/system.api.php, line 905


function hook_page_build(&$page) {
    if (menu_get_object('node', 1)) {
        // We are on a node detail page. Append a standard disclaimer to the
        // content region.
        $page['content']['disclaimer'] = array(
            '#markup' => t('Acme, Inc. is not responsible for the contents of this sample code.'),
            '#weight' => 25,

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.