function EntityPathAliasCreate::doExecute
Creates entity path alias.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity that should get an alias.
string $alias: The alias to be created.
File
-
src/
Plugin/ RulesAction/ EntityPathAliasCreate.php, line 75
Class
- EntityPathAliasCreate
- Provides a generic 'Create entity path alias' action.
Namespace
Drupal\rules\Plugin\RulesActionCode
protected function doExecute(EntityInterface $entity, $alias) {
// We need to save the entity before we can get its internal path.
if ($entity->isNew()) {
$entity->save();
}
$path = '/' . $entity->toUrl()
->getInternalPath();
$langcode = $entity->language()
->getId();
$path_alias = $this->aliasStorage
->create([
'path' => $path,
'alias' => $alias,
'langcode' => $langcode,
]);
$path_alias->save();
}