3 namespace Drupal\Core\Layout;
5 use Drupal\Component\Plugin\CategorizingPluginManagerInterface;
6 use Drupal\Core\Plugin\FilteredPluginManagerInterface;
9 * Provides the interface for a plugin manager of layouts.
11 interface LayoutPluginManagerInterface extends CategorizingPluginManagerInterface, FilteredPluginManagerInterface {
14 * Gets theme implementations for layouts.
17 * An associative array of the same format as returned by hook_theme().
21 public function getThemeImplementations();
26 * @return \Drupal\Core\Layout\LayoutInterface
28 public function createInstance($plugin_id, array $configuration = []);
33 * @return \Drupal\Core\Layout\LayoutDefinition|null
35 public function getDefinition($plugin_id, $exception_on_invalid = TRUE);
40 * @return \Drupal\Core\Layout\LayoutDefinition[]
42 public function getDefinitions();
47 * @return \Drupal\Core\Layout\LayoutDefinition[]
49 public function getSortedDefinitions(array $definitions = NULL);
54 * @return \Drupal\Core\Layout\LayoutDefinition[][]
56 public function getGroupedDefinitions(array $definitions = NULL);
59 * Returns an array of layout labels grouped by category.
62 * A nested array of labels suitable for #options.
64 public function getLayoutOptions();