$template = $modx->newObject('modTemplate');
$template->set('templatename', $profilename);
if ($template->save()) {
echo '<p>Template created</p>';
$templateId = $template->get('id');
} else {
die('<p>Template not created.</p>');
}
This question has been answered by BobRay. See the first response.
$tvs = '[{"id":"25"},{"id":"26"},{"id":"28"}]';
$fields = array(
'templatename' => $profilename,
'tvs' => $tvs
);
$response = $modx->runProcessor('template/create', $fields);
if ($response->isError()) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Failed to create Template');
}
$tvId = 12;
$templateId = 22;
$tvt = $modx->newObject('modTemplateVarTemplate');
$tvt->set('tmplvarid', $tvId);
$tvt->set('templateid', $templateId);
$tvt->set('rank', 3); // (optional)
$tvt->save();