Ok. Trying this again.
Revo 2.2.4, /core/model/modx/modmanagercontroller.class.php, Starting at line 778, I changed:
if ($obj->get($constraintField) != $constraint) {
continue;
}
to:
// CB: Allow comma-separated lists of constraints
//if ($obj->get($constraintField) != $constraint) {
// continue;
//}
$constraintList = explode(',', str_replace(' ', '', $constraint));
if (($obj->get($constraintField) != $constraint) && (!in_array($obj->get($constraintField), $constraintList))) {
continue;
}
That seems to be working like expected. So far...
I did run into another issue. I have one set of rules for a specific template with no constraints, then another for that same template with constraints. It's applying the right rules, comma-separated or not, except that I'm setting a value for one of the TVs in the set with the constraints and it's still changing the value for resources that don't match the constraints. It doesn't matter what the constraints are, it's applying it to everything unless I change the template.
It's not outputting it as one of the rules, it's setting the TV directly. So now I just need to figure out where that little bit of fun is coming from.