This question has been answered by BobRay. See the first response.
you could make sure to have a unique alias by adding the id or datetime, when added or something else unique.
what is your code, which is creating the resources currently?
foreach ($apiPublicSearch->data as $api_value){ // start import
$document = $modx->getObject('modResource',array('longtitle' => $api_value->animalID)); // look for existing document
if(!empty($document)){ // update existing document
$document = $modx->getObject('modResource',array('longtitle' => $api_value->animalID)); //?? Do I need this
$document->set('pagetitle', $api_value->animalName);
$document->set('content', $api_value->animalDescription);
$document->set('publishedon', $createdDateTime);
if ($document->save() === false){// Save the document
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while saving your Resource!');
return false;
}
}else{ // create new document
$newDocument = $modx->newObject('modResource');
$newDocument->set('type', 'document'); // Create the default fields for the document
$newDocument->set('contentType', 'text/html');
$newDocument->set('pagetitle', $api_value->animalName);
$newDocument->set('longtitle', $api_value->animalID);
$newDocument->set('description', '');
$newDocument->set('alias', ''); //letting MODX generate this for me not sure if I need to be setting the value to blank
$newDocument->set('link_attributes', '');
$newDocument->set('publishedon', $createdDateTime);
$newDocument->set('published', 1);
$newDocument->set('pub_date', 1);
$newDocument->set('unpub_date', 0);
if($api_value->animalSpecies == 'Dog'){
$newDocument->set('parent', 2);
}elseif($api_value->animalSpecies == 'Cat'){
$newDocument->set('parent', 3);
}else{
$newDocument->set('parent', 19);
}
$newDocument->set('isfolder', 0);
$newDocument->set('introtext', '');
$newDocument->set('content', $api_value->animalDescription);
$newDocument->set('richtext', 1);
$newDocument->set('template', 3);
$newDocument->set('menuindex', 1);
$newDocument->set('searchable', 1);
$newDocument->set('cacheable', 1);
$newDocument->set('createdby', $modx->user->get('id'));
$newDocument->set('createdon', $createdDateTime);
$newDocument->set('editedby', '');
$newDocument->set('editedon', '');
$newDocument->set('deleted', '');
$newDocument->set('deletedon', '');
$newDocument->set('deletedby', '');
$newDocument->set('publishedon', '');
$newDocument->set('publishedby', '');
$newDocument->set('menutitle', '');
$newDocument->set('hidemenu', '');
$newDocument->set('donthit', '');
$newDocument->set('haskeywords', '');
$newDocument->set('hasmetatags', '');
$newDocument->set('privateweb', '');
$newDocument->set('privatemgr', '');
$newDocument->set('content_dispo', '');
$newDocument->set('hidemenu', '');
$newDocument->set('class_key', 'modDocument');
$newDocument->set('content_type', 1);
if ($newDocument->save() === false){ // Save the document
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while saving your Resource!');
return false;
}
} // close else ($newDocument)
$alias = $modx->cleanAlias($api_value->animalName);
$r = $modx->getObject('modResource' array('alias' -> $alias));
if ($r) {
/* alias in use */
$i = 1;
for($i = 1; $i < 100; $i++) {
$r = $modx->getObject('modResource' array('alias' -> $alias . $i));
if (! $r) {
/* Found an unused one */
$alias .= $i;
break;
}
}
}
$newDocument->set('alias', $alias);
if ($newDocument->save() === false){ // Save the document
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while saving your Resource!');
return false;
}
$newDocument->set('alias',$newDocument->cleanAlias($api_value->animalName). '-' .$newDocument->get('id'));
$newDocument->save();
$newDocument = $modx->newObject('modResource');
$animalName = $api_value->animalName;
$alias = $newDocument->cleanAlias($animalName);