1.20.x layout.module layout_get_layout_tempstore($name, $type = 'layout')

Get a layout or menu item currently being edited from the tempstore.

If a layout is not yet being edited, the layout will be loaded from configuration.

Parameters

string $name: The machine name of the Layout item to load.

string $type: The type of item to load. Must be either "layout" or "menu_item".

File

modules/layout/layout.module, line 1794
The Layout module creates pages and wraps existing pages in layouts.

Code

function layout_get_layout_tempstore($name, $type = 'layout') {
  $caches = &backdrop_static(__FUNCTION__, array());
  if (!isset($caches[$type][$name])) {
    // Try loading from tempstore first to get in-progress changes.
    $item = tempstore_get('layout.' . $type, $name);
    if (!$item) {
      if ($type == 'layout') {
        $item = layout_load($name);
      }
      elseif ($type == 'menu_item') {
        $item = layout_menu_item_load($name);
      }
    }
    $caches[$type][$name] = $item;
  }

  return $caches[$type][$name];
}