function theming_example_list_page

The list page callback.

An example page where the output is supplied as an array which is themed into a list and styled with css.

In this case we'll use the core-provided theme_item_list as a #theme_wrapper. Any theme need only override theme_item_list to change the behavior.

Related topics

1 string reference to 'theming_example_list_page'
theming_example_menu in theming_example/theming_example.module
Implements hook_menu().

File

theming_example/theming_example.module, line 170

Code

function theming_example_list_page() {
    $items = array(
        t('First item'),
        t('Second item'),
        t('Third item'),
        t('Fourth item'),
    );
    // First we'll create a render array that simply uses theme_item_list.
    $title = t("A list returned to be rendered using theme('item_list')");
    $build['render_version'] = array(
        // We use #theme here instead of #theme_wrappers because theme_item_list()
        // is the classic type of theme function that does not just assume a
        // render array, but instead has its own properties (#type, #title, #items).
'#theme' => 'item_list',
        // '#type' => 'ul',  // The default type is 'ul'
        // We can easily make sure that a css or js file is present using #attached.
'#attached' => array(
            'css' => array(
                drupal_get_path('module', 'theming_example') . '/theming_example.css',
            ),
        ),
        '#title' => $title,
        '#items' => $items,
        '#attributes' => array(
            'class' => array(
                'render-version-list',
            ),
        ),
    );
    // Now we'll create a render array which uses our own list formatter,
    // theme('theming_example_list').
    $title = t("The same list rendered by theme('theming_example_list')");
    $build['our_theme_function'] = array(
        '#theme' => 'theming_example_list',
        '#attached' => array(
            'css' => array(
                drupal_get_path('module', 'theming_example') . '/theming_example.css',
            ),
        ),
        '#title' => $title,
        '#items' => $items,
    );
    return $build;
}