Chris@0: ' . t('About') . ''; Chris@0: $output .= '
' . t('The Field Layout module allows you to arrange fields into regions on forms and displays of entities such as nodes and users.') . '
'; Chris@0: $output .= '' . t('For more information, see the online documentation for the Field Layout module.', [':field-layout-documentation' => 'https://www.drupal.org/documentation/modules/field_layout']) . '
'; Chris@0: return $output; Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * Implements hook_entity_type_alter(). Chris@0: */ Chris@0: function field_layout_entity_type_alter(array &$entity_types) { Chris@0: /** @var $entity_types \Drupal\Core\Entity\EntityTypeInterface[] */ Chris@0: $entity_types['entity_view_display']->setClass(FieldLayoutEntityViewDisplay::class); Chris@0: $entity_types['entity_form_display']->setClass(FieldLayoutEntityFormDisplay::class); Chris@0: Chris@0: // The form classes are only needed when Field UI is installed. Chris@0: if (\Drupal::moduleHandler()->moduleExists('field_ui')) { Chris@0: $entity_types['entity_view_display']->setFormClass('edit', FieldLayoutEntityViewDisplayEditForm::class); Chris@0: $entity_types['entity_form_display']->setFormClass('edit', FieldLayoutEntityFormDisplayEditForm::class); Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * Implements hook_entity_view_alter(). Chris@0: */ Chris@0: function field_layout_entity_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display) { Chris@0: if ($display instanceof EntityDisplayWithLayoutInterface) { Chris@17: \Drupal::classResolver(FieldLayoutBuilder::class)->buildView($build, $display); Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * Implements hook_form_alter(). Chris@0: */ Chris@0: function field_layout_form_alter(&$form, FormStateInterface $form_state, $form_id) { Chris@0: $form_object = $form_state->getFormObject(); Chris@0: if ($form_object instanceof ContentEntityFormInterface && $display = $form_object->getFormDisplay($form_state)) { Chris@0: if ($display instanceof EntityDisplayWithLayoutInterface) { Chris@17: \Drupal::classResolver(FieldLayoutBuilder::class)->buildForm($form, $display); Chris@0: } Chris@0: } Chris@0: }