Mercurial > hg > isophonics-drupal-site
view core/modules/field_layout/field_layout.install @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php /** * @file * Contains install and update functions for Field Layout. */ use Drupal\Core\Cache\Cache; use Drupal\Core\Entity\Display\EntityDisplayInterface; use Drupal\Core\Entity\Entity\EntityFormDisplay; use Drupal\Core\Entity\Entity\EntityViewDisplay; use Drupal\field_layout\Display\EntityDisplayWithLayoutInterface; /** * Implements hook_install(). */ function field_layout_install() { // Ensure each entity display has a layout. $entity_save = function (EntityDisplayInterface $entity) { if ($entity instanceof EntityDisplayWithLayoutInterface) { $entity->ensureLayout()->save(); } }; array_map($entity_save, EntityViewDisplay::loadMultiple()); array_map($entity_save, EntityFormDisplay::loadMultiple()); // Invalidate the render cache since all content will now have a layout. Cache::invalidateTags(['rendered']); } /** * Implements hook_uninstall(). */ function field_layout_uninstall() { // Reset each entity display to use the one-column layout to best approximate // the absence of layouts. $entity_save = function (EntityDisplayInterface $entity) { if ($entity instanceof EntityDisplayWithLayoutInterface) { $entity->setLayoutId('layout_onecol')->save(); } }; array_map($entity_save, EntityViewDisplay::loadMultiple()); array_map($entity_save, EntityFormDisplay::loadMultiple()); // Invalidate the render cache since all content will no longer have a layout. Cache::invalidateTags(['rendered']); }