Это работает для меня:
Внутри вашего файла представления (viewfile.ctp):
<div>
<?php
echo $this->Form->create('changeRegion');
$options=array('US'=>'U.S.','CA'=>'Canada', 'FN'=>'International');
$attributes=array('legend'=>false, 'label'=>false, 'value'=>'US', 'class'=>'locRad');
echo $form->radio('subLocation',$options,$attributes);
echo $this->Form->end();
?>
<div class="clear"></div>
</div>
Убедитесь, что 'label' => false и 'legend' => false установлены в ваших атрибутах.
В вашей таблице стилей:
input[type=radio] {
float:left;
margin:0px;
width:20px;
}
form#changeRegionStdForm input[type=radio].locRad {
margin:3px 0px 0px 3px;
float:none;
}
Я боролся с этим навсегда, потому что стандартное правило стиля CakePHP для input [type = radio] (внутри файла app / webroot / css / cake.generic.css ) было всегда имеет приоритет. Я сгенерировал другое правило, чтобы специально выбрать нужную группу радиосвязи, сославшись на форму вместе с правилом радиовхода, к которому добавлено имя класса (форма # changeRegionStdForm input [type = radio] .locRad) . Первоначально я делал это с помощью правила form # , перечисленного до ввода [type = . Только когда я переместил его после ввода [type = , переключатели выровнялись горизонтально.
Надеюсь, это имеет смысл и действительно помогает кому-то еще.