/** * {@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; }