//handle alias
if (isset($postvalues['changealias']) && $postvalues['changealias'] == 'auto') {
$aliasresource = $modx->newObject('modResource');
$object->set('alias', $aliasresource->cleanAlias($postvalues['name']));
}On new records default of this listbox is 'auto', on records with already existing alias default is 'no'
$record = $object->toArray(); $record['changealias'] = empty($record['alias']) ? 'auto' : '-';
if (isset($postvalues['changealias']) && $postvalues['changealias'] == 'auto') {
$aliasresource = $modx->newObject('modResource');
$object->set('alias', $aliasresource->cleanAlias($postvalues['model']));
}$object->fromArray($postvalues);
if (isset($postvalues['changealias']) && $postvalues['changealias'] == 'auto') {
$aliasresource = $modx->newObject('modResource');
$postvalues['alias'] = $aliasresource->cleanAlias($postvalues['model']);
}
$object->fromArray($postvalues);if (isset($postvalues['changealias']) && $postvalues['changealias'] == '-') {
unset($postvalues['alias']);
}
if (isset($postvalues['changealias']) && $postvalues['changealias'] == 'auto') {
$aliasresource = $modx->newObject('modResource');
$postvalues['alias'] = $aliasresource->cleanAlias($postvalues['model']);
}
$object->fromArray($postvalues);$record = $object->toArray(); $record['changealias'] = empty($record['alias']) ? 'auto' : '-';
no||auto||input
-||auto||input
if (isset($postvalues['changealias']) && $postvalues['changealias'] == '-') {
//if changealias is '-' don't update the alias field, so we unset our posted value here, because we want it untouched
unset($postvalues['alias']);
}
if (isset($postvalues['changealias']) && $postvalues['changealias'] == 'auto') {
//if we have selected 'auto' then generate a new alias from 'model'
$aliasresource = $modx->newObject('modResource');
$postvalues['alias'] = $aliasresource->cleanAlias($postvalues['model']);
}
// in all other cases, for example when we have selected 'input', use the posted 'alias' from alias-input-field
$object->fromArray($postvalues);$debug = $object->fromArray(); print_r($debug);