Ah ! Ca marche !
En fait, ça bloquait parce que MODx vérifie les alias avant le OnDocFormSave et donc à chaque fois que je créais une ressource qui s’appelait "test" il trouvait une ancienne ressource test dont l’alias était déjà test.
Pour être clair, si je créé une ressource
test, MODx va l’enregistrer avec l’alias
test puis faire appel au plugin, changer l’alias en
test-123 et enfin la réenregistrer.
Pour que ça marche, il faut que tous les alias soient construits sur ce modèle.
Voici le code du plugin :
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormSave':
if(!isset($_REQUEST['alias']) || empty($_REQUEST['alias'])) // Permet de conserver les alias personalises (ex : sitemap)
{
$alias = $resource->get('alias').'-'.$resource->get('id'); // Finalement j'ai mis l'ID a la fin, c'est peut etre mieux au niveau SEO
$resource->set('alias', $alias);
$resource->save();
}
break;
}
Meci lossendae pour ton aide.
EDIT : ce plugin marche avec la création automatique des alias