public function PanelizerPanelsIPEController::revertToDefault in Panelizer 8.5
Same name and namespace in other branches
- 8.3 src/Controller/PanelizerPanelsIPEController.php \Drupal\panelizer\Controller\PanelizerPanelsIPEController::revertToDefault()
- 8.4 src/Controller/PanelizerPanelsIPEController.php \Drupal\panelizer\Controller\PanelizerPanelsIPEController::revertToDefault()
Reverts an entity view mode to a particular named default.
Parameters
\Drupal\Core\Entity\FieldableEntityInterface $entity: The entity.
string $view_mode: The view mode.
Return value
\Symfony\Component\HttpFoundation\Response An empty response.
Throws
\Symfony\Component\HttpKernel\Exception\BadRequestHttpException
1 string reference to 'PanelizerPanelsIPEController::revertToDefault'
File
- src/
Controller/ PanelizerPanelsIPEController.php, line 61
Class
- PanelizerPanelsIPEController
- Controller for Panelizer's Panels IPE routes.
Namespace
Drupal\panelizer\ControllerCode
public function revertToDefault(FieldableEntityInterface $entity, $view_mode) {
// Get the bundle specific default display as a fallback.
$settings = $this->panelizer
->getPanelizerSettings($entity
->getEntityTypeId(), $entity
->bundle(), $view_mode);
$default = $settings['default'];
// Check the entity for a documented default to which we should revert.
if ($entity
->hasField('panelizer') && $entity->panelizer
->first()) {
foreach ($entity->panelizer as $item) {
if ($item->view_mode == $view_mode && !empty($item->default)) {
$default = $item->default;
break;
}
}
}
// If we somehow ended up not having a default, throw an exception.
if (empty($default)) {
throw new BadRequestHttpException("Default name to revert to must be passed!");
}
$this->panelizer
->setPanelsDisplay($entity, $view_mode, $default);
return new Response();
}