Support local aliases (close #33).

This commit is contained in:
David Molineus
2016-10-06 12:16:42 +02:00
parent 45cee3bfb8
commit 33a097ebe7
3 changed files with 38 additions and 5 deletions

View File

@@ -170,6 +170,33 @@ $container[LeafletServices::ALIAS_GENERATOR] = $container->share(
}
);
/**
* Leaflet alias generator.
*
* @return \Netzmacht\Contao\Toolkit\Data\Alias\AliasGenerator
*/
$container[LeafletServices::PARENT_ALIAS_GENERATOR] = $container->share(
function ($container) {
return function ($dataContainerName, $aliasField, $fields) use ($container) {
$filters = [
new ExistingAliasFilter(),
new SlugifyFilter($fields),
new DefaultAliasFilter($dataContainerName),
new SuffixFilter(),
];
$validator = new UniqueDatabaseValueValidator(
$container[Services::DATABASE_CONNECTION],
$dataContainerName,
$aliasField,
['pid']
);
return new FilterBasedAliasGenerator($filters, $validator, $dataContainerName, $aliasField, '_');
};
}
);
/**
* Callback helper class for tl_leaflet_map.
*