Mercurial > hg > isophonics-drupal-site
view core/modules/layout_builder/layout_builder.install @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | |
children | 129ea1e6d783 |
line wrap: on
line source
<?php /** * @file * Contains install and update functions for Layout Builder. */ use Drupal\Core\Cache\Cache; use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay; use Drupal\layout_builder\Section; /** * Implements hook_install(). */ function layout_builder_install() { $displays = LayoutBuilderEntityViewDisplay::loadMultiple(); /** @var \Drupal\layout_builder\Entity\LayoutEntityDisplayInterface[] $displays */ foreach ($displays as $display) { // Create the first section from any existing Field Layout settings. $field_layout = $display->getThirdPartySettings('field_layout'); if (isset($field_layout['id'])) { $field_layout += ['settings' => []]; $display->appendSection(new Section($field_layout['id'], $field_layout['settings'])); } // Sort the components by weight. $components = $display->get('content'); uasort($components, 'Drupal\Component\Utility\SortArray::sortByWeightElement'); foreach ($components as $name => $component) { $display->setComponent($name, $component); } $display->save(); } // Clear the rendered cache to ensure the new layout builder flow is used. // While in many cases the above change will not affect the rendered output, // the cacheability metadata will have changed and should be processed to // prepare for future changes. Cache::invalidateTags(['rendered']); }