質問: jhtml::_('select.radiolist', $options, $this->name, "class='btn-group'", 'value', 'text', $this->value, $this->id); return $html; } }
回答: jhtml radiolist関数を見て、それはカスタムクラスをサポートしません。実際のコアファイルを介してradioクラスを手動で追加します。ここで私が行ったことは、コア無線フィールドのコピーを取り、いくつかのことを取り除いて、必要に応じて修正しました。お役に立てれば:class jformfieldcontentrating extends jformfield { protected $type = 'contentrating'; protected function getinput() { $options = array( jhtml::_('select.option', 'y', 'tv-y'), jhtml::_('select.option', 'y7', 'tv-y7'), jhtml::_('select.option', 'g', 'tv-g'), jhtml::_('select.option', 'pg', 'tv-pg'), jhtml::_('select.option', '14', 'tv-14'), jhtml::_('select.option', 'ma', 'tv-ma') ); $html = array(); $class = !empty($this->class) ? ' class="radio ' . $this->class . '"' : ' class="radio"'; $html[] = '<fieldset id="' . $this->id . '"' . $class. ' >'; foreach ($options as $i => $option) { $checked = ((string) $option->value == (string) $this->value) ? ' checked="checked"' : ''; $class = !empty($option->class) ? ' class="' . $option->class . '"' : ''; $onclick = !empty($option->onclick) ? ' onclick="' . $option->onclick . '"' : ''; $onchange = !empty($option->onchange) ? ' onchange="' . $option->onchange . '"' : ''; $html[] = '<input type="radio" id="' . $this->id . $i . '" name="' . $this->name . '" value="' . htmlspecialchars($option->value, ent_compat, 'utf-8') . '"' . $checked . $class . $onclick . $onchange . ' />'; $html[] = '<label for="' . $this->id . $i . '"' . $class . ' >' . jtext::alt($option->text, preg_replace('/[^a-za-z0-9_\-]/', '_', $this->fieldname)) . '</label>'; } $html[] = '</fieldset>'; return implode($html); } } テスト済みおよび動作中お役に立てれば