Смотрим как создает html для инпата radio стандартный компонент (компонент? html? да):
А как рендерит CForm::GetRadioField? Да это просто обертка над InputType, где:
Что в итоге? Вот что:
Что? Два label? Ну да.
Блин, в кои-то веки решил опять попробовать воспользоваться стандартным выводом форм. Думал 2016 год, ну точно формы в битрикс должны быть готовы для практического использования... Не. Рендер до сих пор невозможены через какие-нибудь собственные шаблоны полей. Встроенные рендерят непременимый ужос.
Зато автокомпозит.
Извините - накипело.
| Код |
|---|
$input = CForm::GetRadioField(
$FIELD_SID,
$arAnswer["ID"],
$value,
$arAnswer["FIELD_PARAM"]);
if (strlen($ans_id) > 0)
{
$res .= $input;
$res .= "<label for=\"".$ans_id."\">".$arAnswer["MESSAGE"]."</label>";
}
else
{
$res .= "<label>".$input.$arAnswer["MESSAGE"]."</label>";
}
|
| Код |
|---|
$bLabel = false; if ($strType == 'radio') $bLabel = true; return ($bLabel? '<label>': '').'<input type="'.$strType.'" '.$field1.' name="'.$strName.'" id="'.($strId <> ''? $strId : $strName).'" value="'.$strValue.'"'. ($bCheck? ' checked':'').'>'.($strPrintValue? $strValue:$strPrint).($bLabel? '</label>': ''); |
| Код |
|---|
<label><input type="radio" id="80" name="form_radio_PALEPE" value="80"></label><label for="80">ne</label> |
Блин, в кои-то веки решил опять попробовать воспользоваться стандартным выводом форм. Думал 2016 год, ну точно формы в битрикс должны быть готовы для практического использования... Не. Рендер до сих пор невозможены через какие-нибудь собственные шаблоны полей. Встроенные рендерят непременимый ужос.
Зато автокомпозит.
Извините - накипело.