This question has been answered by dallen. See the first response.
$lines = file('path_to_csv_file', FILE_SKIP_EMPTY_LINES);
$count = 0;
$output = '';
foreach ($lines as $lineNumber => $value) {
$data = explode(',', $value);
if (count($data) != 3) {
$output .= "<br />" . 'Mis-formatted line: ' . $value;
continue;
}
$resource = (int)trim($value[0]);
$tv = (int)trim($value[1]);
$val = trim($value[2]);
$tvr = $modx->getObject('modTemplateVarResource',
array(
'resourceid' => $resource,
'tmplvarid' => $tv
)
);
if (!$tvr) {
$output .= '<br />' . 'Failed to get TVR: ' . $resource . ' -- ' . $tv;
continue;
} else {
$tvr->set('value', $val);
$tvr->save();
$count++;
}
}
$output .= '<br /><br />Updated ' . $count . 'TVs';
return $output;id;alias;parent;published;tv1 2;test-alias;18;1;value1