public function LanguageNeutralAliasesStorage::save in Language neutral aliases 8
Saves a path alias to the database.
@thrown \InvalidArgumentException Thrown when either the source or alias has not a starting slash.
Parameters
string $source: The internal system path.
string $alias: The URL alias.
string $langcode: (optional) The language code of the alias.
int|null $pid: (optional) Unique path alias identifier.
Return value
array|false FALSE if the path could not be saved or an associative array containing the following keys:
- source (string): The internal system path with a starting slash.
- alias (string): The URL alias with a starting slash.
- pid (int): Unique path alias identifier.
- langcode (string): The language code of the alias.
- original: For updates, an array with source, alias and langcode with the previous values.
Overrides AliasStorage::save
File
- src/
LanguageNeutralAliasesStorage.php, line 38
Class
- LanguageNeutralAliasesStorage
- Language neutral alias storage.
Namespace
Drupal\language_neutral_aliasesCode
public function save($source, $alias, $langcode = LanguageInterface::LANGCODE_NOT_SPECIFIED, $pid = NULL) {
// Enfoce neutral language.
$langcode = LanguageInterface::LANGCODE_NOT_SPECIFIED;
// If attempting to save a non-neutral alias, save as new.
if ($pid && ($row = parent::load([
'pid' => $pid,
])) && $row && $row['langcode'] != $langcode) {
$pid = NULL;
}
return parent::save($source, $alias, $langcode, $pid);
}