As Ottogal suggests, you definitely want placeholders rather than content tags -- [[+TvName]], not [[*TvName]]. You’ll also need to set the $properties argument for each resource:
Try this:
$resources = $modx->getCollection('modResource', $specs);
foreach ($resources as $resource) {
$properties = $resource->toArray();
$output .= $modx->getChunk('MyChunk',$properties);
}
Unfortunately, that won’t get you the TV values. There’s a good chance that you can avoid the whole problem by using getResources, which I think does exactly what you want.
If not, you’ll have to get each TV value separately and add it to the $properties array with something like this:
$resources = $modx->getCollection('modResource', $specs);
foreach ($resources as $resource) {
$properties = $resource->toArray();
$tvVal = $resource->getTVValue('MyTv');
$properties[] = 'MyTv'=>$tvVal;
$output .= $modx->getChunk('MyChunk',$properties);
}
The middle two lines could also be on a single line:
$properties[] = 'MyTv'=>$resource->getTVValue('MyTv');
Again, though, getResources is designed for exactly this task.