function render($request, $row, $column)
{
$columnId = $column->getId();
assert(!empty($columnId));
// Construct a default cell id (null for "nonexistent" new rows)
$rowId = $row->getId();
// Potentially null (indicating row not backed in the DB)
$cellId = isset($rowId) ? $rowId . '-' . $columnId : null;
// Assign values extracted from the element for the cell.
$templateMgr = TemplateManager::getManager($request);
$templateVars = $this->getTemplateVarsFromRowColumn($row, $column);
foreach ($templateVars as $varName => $varValue) {
$templateMgr->assign($varName, $varValue);
}
$templateMgr->assign(array('id' => $cellId, 'column' => $column, 'actions' => $this->getCellActions($request, $row, $column), 'flags' => $column->getFlags(), 'formLocales' => AppLocale::getSupportedFormLocales()));
$template = $column->getTemplate();
assert(!empty($template));
return $templateMgr->fetch($template);
}