This     is dirt you do not want this (I think those are tabs)
<?php
$defaultParent = 10; // default parent id if nothing else is defined
if($_GET["blogCatID"]) {
$defaultParent = (int) $_GET["blogCatID"];
}
$modx->setPlaceholder("dittoRSSParent", $defaultParent);
?>
Should work now. However you do not need to set a placeholder, simply return the value and use the snippet itself as the value for parents:
[[Ditto? &parents=`[!getCat!]` &tpl=`...` etc.]]
The snippet would look like this
<?php
$defaultParent = 10; // default parent id if nothing else is defined
if($_GET["blogCatID"]) {
$defaultParent = (int) $_GET["blogCatID"];
}
return $defaultParent;
?>
A third option (and the one that I use the most) is to use a wrapper snippet and call Ditto from within the wrapper. Here is a somewhat complex example that I used recently (posted just to illustrate the possibilities):
<?php
// read the variable from the URL
$default = $modx->runSnippet("Ditto", array("docid" => "0"));
$parents = isset($_GET["cat"]) ? $_GET["cat"] : $default;
$doc = $modx -> documentIdentifier;
$display = "20";
$tpl = "RSSTpl";
// run ditto snippet
if(!isset($_GET["cat"])){
$output = $modx->runSnippet("Ditto", array(
"debug" => "0",
"parents" => $parents,
"format" => "rss",
"display" => $display,
"tpl" => $tpl,
"depth" => "0",
"filter" => "id,".$doc.",2" ));
} else {
$output = $modx->runSnippet("Ditto", array(
"debug" => "0",
"parents" => "0",
"format" => "rss",
"display" => $display,
"tpl" => $tpl,
"depth" => "0",
"tags" => $parents,
"tagData" => "parent",
"tagMode" => "onlyTags",
"tagDelimiter" => "," ));
}
return $output;
?>