Snippet parameters are stored in $modx->event object in pre-0.9.7 versions in the evalSnippet method:
<?php
function evalSnippet($snippet, $params) {
$etomite= $modx= & $this;
$modx->event->params= & $params; // store params inside event object
if (is_array($params)) {
extract($params, EXTR_SKIP);
}
//... more code
?>
As an example when using eForm this is a convenient way of accessing eForm’s parameters from within "event" functions (such as eFormOnBeforeFormParse). This also allows you to set extra snippet parameters in the snippet call which are used by the event function but which are not normally used by eForm itself. (This is what i meant by "load extra parameters the core snippet doesn’t necessarily know about").
I’m still working on a new version of eForm (albeit slowly) which is class based and which supports multiple action classes. The core snippet (class) can only access parameters it knows about by variable name as this is how normally the the parameters are provided to the snippet. This is problematic for action classes which by nature do not share the same variable scope. Since my action classes can have (and need) their own (snippet) parameters the only way I’ve come up with is to capture the $modx->event->params array and make this available to the scope of subsequent action classes.
I’ve had a look at $scriptProperties and the cached script files and it looks like I can indeed use that somehow. Thanks for the pointers.
I hope I’m being a bit clearer this time.