Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function save(array $form, FormStateInterface $form_state)
 {
     $status = parent::save($form, $form_state);
     if ($status) {
         drupal_set_message($this->t('Saved the %label variant.', ['%label' => $this->entity->label()]));
     } else {
         drupal_set_message($this->t('The %label variant was not saved.', ['%label' => $this->entity->label()]));
     }
 }
 /**
  * Route title callback.
  *
  * @param \Drupal\page_manager\PageVariantInterface $page_variant
  *   The page variant entity.
  *
  * @return string
  *   The title for the page variant edit form.
  */
 public function editPageVariantTitle(PageVariantInterface $page_variant)
 {
     return $this->t('Edit %label variant', ['%label' => $page_variant->label()]);
 }
 /**
  * {@inheritdoc}
  */
 public function submitForm(array &$form, FormStateInterface $form_state)
 {
     $this->entity->delete();
     drupal_set_message($this->t('The variant %label has been removed.', ['%label' => $this->entity->label()]));
     $form_state->setRedirectUrl($this->getCancelUrl());
 }
 /**
  * Compiles settings needed for the IPE to function.
  *
  * @param array $regions
  *   The render array representing regions.
  * @param \Drupal\layout_plugin\Plugin\Layout\LayoutInterface $layout
  *   The current layout.
  * @param \Drupal\page_manager\PageVariantInterface $page_variant
  *   The current path's page variant.
  *
  * @return array|bool
  *   An associative array representing the contents of drupalSettings, or
  *   FALSE if there was an error.
  */
 protected function getDrupalSettings(array $regions, LayoutInterface $layout, PageVariantInterface $page_variant)
 {
     $settings = ['regions' => []];
     // Add current block IDs to settings sorted by region.
     foreach ($regions as $region => $blocks) {
         $settings['regions'][$region] = ['name' => $region, 'label' => '', 'blocks' => []];
         if (!$blocks) {
             continue;
         }
         /** @var \Drupal\Core\Block\BlockPluginInterface[] $blocks */
         foreach ($blocks as $block_uuid => $block) {
             $configuration = $block->getConfiguration();
             $setting = ['uuid' => $block_uuid, 'label' => $block->label(), 'id' => $block->getPluginId()];
             $settings['regions'][$region]['blocks'][$block_uuid] = NestedArray::mergeDeep($configuration, $setting);
         }
     }
     // Add the layout information.
     $layout_definition = $layout->getPluginDefinition();
     $settings['layout'] = ['id' => $layout->getPluginId(), 'label' => $layout_definition['label'], 'original' => true];
     // Add the display variant's config.
     $settings['display_variant'] = ['label' => $page_variant->label(), 'id' => $page_variant->id(), 'uuid' => $page_variant->uuid()];
     return $settings;
 }