1.20.x layout.pages.inc | layout_page_callback() |
Menu callback; Generic page callback for all Layout-provided pages.
File
- modules/
layout/ layout.pages.inc, line 10 - Page callbacks for non-administrative pages of Layout module.
Code
function layout_page_callback() {
$args = func_get_args();
$menu_item_name = array_shift($args);
$menu_item = layout_menu_item_load($menu_item_name);
// Determine the correct layout to use at this path.
$router_item_path = $menu_item->path;
if (strpos($router_item_path, '%') !== FALSE) {
$router_item_path = current_path();
}
$router_item = menu_get_item($router_item_path);
$layout = layout_get_layout_by_path(NULL, $router_item, TRUE);
// No layouts match based on conditions.
if (!$layout) {
return MENU_NOT_FOUND;
}
// Use the selected layout and render it.
$renderer = layout_create_renderer($layout->renderer_name, $layout);
return $renderer->render();
}