public function generate()
{
if (!is_array($this->arrOptions) || empty($this->arrOptions)) {
return '';
}
$rows = ceil(count($this->arrOptions) / $this->intCols);
$return = '<table id="ctrl_' . $this->strName . '" class="tl_radio_table' . ($this->strClass != '' ? ' ' . $this->strClass : '') . '">';
for ($i = 0; $i < $rows; $i++) {
$return .= '
<tr>';
// Add cells
for ($j = $i * $this->intCols; $j < ($i + 1) * $this->intCols; $j++) {
$value = $this->arrOptions[$j]['value'];
$label = $this->arrOptions[$j]['label'];
if (strlen($value)) {
$label = \Image::getHtml($value . '.svg', $label, 'title="' . \StringUtil::specialchars($label) . '"');
$return .= '
<td><input type="radio" name="' . $this->strName . '" id="' . $this->strName . '_' . $i . '_' . $j . '" class="tl_radio" value="' . \StringUtil::specialchars($value) . '" onfocus="Backend.getScrollOffset()"' . $this->isChecked($this->arrOptions[$j]) . $this->getAttributes() . '> <label for="' . $this->strName . '_' . $i . '_' . $j . '">' . $label . '</label></td>';
} else {
$return .= '
<td></td>';
}
}
// Close row
$return .= '
</tr>';
}
return $return . '
</table>';
}