comparison core/modules/layout_builder/src/Controller/ChooseSectionController.php @ 4:a9cd425dd02b

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:11:55 +0000
parents c75dbcec494b
children 12f9dff5fda9
comparison
equal deleted inserted replaced
3:307d7a7fd348 4:a9cd425dd02b
1 <?php 1 <?php
2 2
3 namespace Drupal\layout_builder\Controller; 3 namespace Drupal\layout_builder\Controller;
4 4
5 use Drupal\Core\Ajax\AjaxHelperTrait;
5 use Drupal\Core\DependencyInjection\ContainerInjectionInterface; 6 use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
6 use Drupal\Core\Layout\LayoutPluginManagerInterface; 7 use Drupal\Core\Layout\LayoutPluginManagerInterface;
7 use Drupal\Core\Plugin\PluginFormInterface; 8 use Drupal\Core\Plugin\PluginFormInterface;
8 use Drupal\Core\StringTranslation\StringTranslationTrait; 9 use Drupal\Core\StringTranslation\StringTranslationTrait;
9 use Drupal\Core\Url; 10 use Drupal\Core\Url;
59 */ 60 */
60 public function build(SectionStorageInterface $section_storage, $delta) { 61 public function build(SectionStorageInterface $section_storage, $delta) {
61 $output['#title'] = $this->t('Choose a layout'); 62 $output['#title'] = $this->t('Choose a layout');
62 63
63 $items = []; 64 $items = [];
64 foreach ($this->layoutManager->getDefinitions() as $plugin_id => $definition) { 65 $definitions = $this->layoutManager->getFilteredDefinitions('layout_builder', [], ['section_storage' => $section_storage]);
66 foreach ($definitions as $plugin_id => $definition) {
65 $layout = $this->layoutManager->createInstance($plugin_id); 67 $layout = $this->layoutManager->createInstance($plugin_id);
66 $item = [ 68 $item = [
67 '#type' => 'link', 69 '#type' => 'link',
68 '#title' => [ 70 '#title' => [
69 $definition->getIcon(60, 80, 1, 3), 71 $definition->getIcon(60, 80, 1, 3),