Ejemplo n.º 1
0
 /**
  * Form constructor.
  *
  * @param array $form
  *   An associative array containing the structure of the form.
  * @param \Drupal\Core\Form\FormStateInterface $form_state
  *   The current state of the form.
  * @param \Drupal\Core\Entity\EntityInterface $node
  *   The node being previews
  *
  * @return array
  *   The form structure.
  */
 public function buildForm(array $form, FormStateInterface $form_state, EntityInterface $node = NULL)
 {
     $view_mode = $node->preview_view_mode;
     $query_options = $node->isNew() ? array('query' => array('uuid' => $node->uuid())) : array();
     $form['backlink'] = array('#type' => 'link', '#title' => $this->t('Back to content editing'), '#url' => $node->isNew() ? Url::fromRoute('node.add', ['node_type' => $node->bundle()]) : $node->urlInfo('edit-form'), '#options' => array('attributes' => array('class' => array('node-preview-backlink'))) + $query_options);
     $view_mode_options = $this->entityManager->getViewModeOptionsByBundle('node', $node->bundle());
     // Unset view modes that are not used in the front end.
     unset($view_mode_options['rss']);
     unset($view_mode_options['search_index']);
     $form['uuid'] = array('#type' => 'value', '#value' => $node->uuid());
     $form['view_mode'] = array('#type' => 'select', '#title' => $this->t('View mode'), '#options' => $view_mode_options, '#default_value' => $view_mode, '#attributes' => array('data-drupal-autosubmit' => TRUE));
     $form['submit'] = array('#type' => 'submit', '#value' => $this->t('Switch'), '#attributes' => array('class' => array('js-hide')));
     return $form;
 }
Ejemplo n.º 2
0
 /**
  * Overrides \Drupal\Core\Block\BlockBase::blockForm().
  *
  * Adds body and description fields to the block configuration form.
  */
 public function blockForm($form, FormStateInterface $form_state)
 {
     $uuid = $this->getDerivativeId();
     $block = $this->entityManager->loadEntityByUuid('block_content', $uuid);
     $options = $this->entityManager->getViewModeOptionsByBundle('block_content', $block->bundle());
     $form['view_mode'] = array('#type' => 'select', '#options' => $options, '#title' => $this->t('View mode'), '#description' => $this->t('Output the block in this view mode.'), '#default_value' => $this->configuration['view_mode'], '#access' => count($options) > 1);
     $form['title']['#description'] = $this->t('The title of the block as shown to the user.');
     return $form;
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function getViewModeOptionsByBundle($entity_type_id, $bundle)
 {
     return $this->entityManager->getViewModeOptionsByBundle($entity_type_id, $bundle);
 }
Ejemplo n.º 4
0
 /**
  * Provides a list of comment view modes for the configured comment type.
  *
  * @return array
  *   Associative array keyed by view mode key and having the view mode label
  *   as value.
  */
 protected function getViewModes()
 {
     return $this->entityManager->getViewModeOptionsByBundle('comment', $this->getFieldSetting('comment_type'));
 }