3 namespace Drupal\Core\Layout;
5 use Drupal\Component\Plugin\CategorizingPluginManagerInterface;
8 * Provides the interface for a plugin manager of layouts.
10 interface LayoutPluginManagerInterface extends CategorizingPluginManagerInterface {
13 * Gets theme implementations for layouts.
16 * An associative array of the same format as returned by hook_theme().
20 public function getThemeImplementations();
25 * @return \Drupal\Core\Layout\LayoutInterface
27 public function createInstance($plugin_id, array $configuration = []);
32 * @return \Drupal\Core\Layout\LayoutDefinition|null
34 public function getDefinition($plugin_id, $exception_on_invalid = TRUE);
39 * @return \Drupal\Core\Layout\LayoutDefinition[]
41 public function getDefinitions();
46 * @return \Drupal\Core\Layout\LayoutDefinition[]
48 public function getSortedDefinitions(array $definitions = NULL);
53 * @return \Drupal\Core\Layout\LayoutDefinition[][]
55 public function getGroupedDefinitions(array $definitions = NULL);
58 * Returns an array of layout labels grouped by category.
61 * A nested array of labels suitable for #options.
63 public function getLayoutOptions();