pantheon_decoupled-1.0.0-alpha3/pantheon_decoupled_example/pantheon_decoupled_example.install

pantheon_decoupled_example/pantheon_decoupled_example.install
<?php

/**
 * @file
 * Install, update and uninstall functions for pantheon_decoupled_example.
 */

use Drupal\user\Entity\Role;
use Drupal\user\RoleInterface;

/**
 * Implements hook_install().
 */
function pantheon_decoupled_example_install() {
  _pantheon_decoupled_example_enable_media_field();
  _pantheon_decoupled_example_set_media_permissions();
}

/**
 * Enable media image field for Article content type.
 */
function _pantheon_decoupled_example_enable_media_field() {
  /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entityDisplayRepository */
  $entityDisplayRepository = \Drupal::service('entity_display.repository');
  $entityDisplayRepository->getFormDisplay('node', 'article', 'default')
    ->setComponent('field_media_image', [
      'type' => 'media_library_widget',
      'weight' => 4,
    ])
    ->save();
  $entityDisplayRepository->getViewDisplay('node', 'article', 'default')
    ->setComponent('field_media_image', [
      'type' => 'entity_reference_entity_view',
      'label' => 'hidden',
      'weight' => -1,
    ])
    ->save();
  $entityDisplayRepository->getViewDisplay('node', 'article', 'teaser')
    ->setComponent('field_media_image', [
      'type' => 'entity_reference_entity_view',
      'label' => 'hidden',
      'weight' => -1,
    ])
    ->save();
}

/**
 * Set correct media viewing permission for anonymous & authenticated users.
 */
function _pantheon_decoupled_example_set_media_permissions() {
  Role::load(RoleInterface::ANONYMOUS_ID)
    ->grantPermission('view media')
    ->save();
  Role::load(RoleInterface::AUTHENTICATED_ID)
    ->grantPermission('view media')
    ->save();
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc