Have you tried setting the allow_duplicate_alias System Setting to Yes?
BTW, this snippet should list them for you (and optionally fix them).
This is untested and you should back up the modx_site_content table (by exporting it in PhpMyAdmin) if you’re going to use the
code that fixes them. The listing code should be harmless.
<?php
/* ListDuplicateAliases snippet */
$fix = false; /* set to true to fix them */
$resources = $modx->getCollection('modResource', array('deleted'=>'0'));
$output = 'Resources with duplicate aliases<br />';
foreach($resources as $resource) {
if ($resource->isDuplicateAlias()) {
$output .= '<br /><br />Pagetitle: ' . $resource->get('pagetitle');
$output .= '<br />alias: ' . $resource->get('alias');
/* optional -- fix it by creating autoalias and, if that doesn't work,
add a unique string to the end of the alias
*/
if ($fix) {
$oldAlias = $resource->get('alias');
$newAlias = $resource->get('pagetitle');
/*MODx will convert it to an auto alias based on the pagetitle here */
$resource->set('alias', $newAlias);
if ($resource->isDuplicateAlias()) {
/* still no good */
$newAlias = $oldAlias . '-' . time()
$resource->set('alias' , $newAlias);
}
$output .= '<br />Alias changed to: ' . $newAlias;
resource->save();
}
}
}
If you run the change code, you’ll still get a complete record of all the dupes and what they were changed to so you can make any necessary adjustments in ones you don’t like.