2012-04-19 5 views
2

Я хочу использовать Radio Button с помощью Form Helper. Радиокнопка имеет элемент Радио и метку. У меня по умолчанию отображается: блок для элемента «Ярлык». Я хочу присвоить классу метку кнопки «Радио», чтобы я мог назначить ей встроенный блок.Cakephp Form Radio Button Label Class

$attributes = array('legend' => false, 'label' => array('class' => 'radioBtn')); 
echo $this->Form->radio('gender', $options, $attributes); 

Как я могу назначить класс на метку опции

ответ

5

Глядя на код метода форма-> радио(), ничего не кажется, связано с атрибутами, принадлежащими к меткам.

Но изменить отображение этих меток, вы могли бы использовать окружающую div

echo '<div class="inline_labels">'; 
echo $this->Form->radio('gender', $options, $attributes); 
echo '</div>'; 

и использовать CSS, как это:

.inline_labels label 
{ 
    display: inline-block; 
} 
+0

да этикетки теперь на одной строке. Только плохо, что они потеряли соединение с переключателями. –

1

Как об использовании FormHelper::label(string $fieldName, string $text, array $options) Вы можете определить класс метки в массиве опций, поэтому (например):

echo $options = array(/* relevant stuff goes here */); 
echo $attributes = array(/* relevant stuff goes here */); 
echo $this->Form->radio('gender', $options, $attributes); 
echo $this->Form->label('gender', 'Text of your label', array('label'=>'radioBtn')) 

Источник CakePHP Cookbook on FormHelper

0

Работа для меня:

// Add your own label with CSS class 
$opts = array('1' => "<label class='myCSS'>My first option</label>", "2" => "<label class='myCSS'>My second option</label>"); 

// Put label param to false 
echo $this->Form->input('my-input', array('type' => 'radio', 'label' => false, 'options' => $opts, 'legend' => false)); 

Наслаждайтесь