PageVariantConfigMapper.php in Page Manager 8
File
page_manager_ui/src/ConfigTranslation/PageVariantConfigMapper.php
View source
<?php
namespace Drupal\page_manager_ui\ConfigTranslation;
use Drupal\config_translation\ConfigEntityMapper;
use Symfony\Component\Routing\Route;
class PageVariantConfigMapper extends ConfigEntityMapper {
protected function processRoute(Route $route) {
parent::processRoute($route);
$path = $route
->getPath();
$path = str_replace('manage/{machine_name}/{step}', '{page}/{page_variant}', $path);
$route
->setPath($path);
}
public function getBaseRouteParameters() {
$parameters = parent::getBaseRouteParameters();
$parameters['page'] = $this->entity
->get('page');
$parameters['machine_name'] = $parameters['page'];
$parameters['step'] = 'page_variant__' . $parameters['page_variant'] . '__general';
return $parameters;
}
public function getAddRouteName() {
return $this
->alterRouteName(parent::getAddRouteName());
}
public function getEditRouteName() {
return $this
->alterRouteName(parent::getEditRouteName());
}
public function getDeleteRouteName() {
return $this
->alterRouteName(parent::getDeleteRouteName());
}
protected function alterRouteName($name) {
return str_replace('page', 'page_variant', $name);
}
}