Как вы устанавливаете параметр #параметры для флажков и переключателей?
Я пытаюсь создать форму с помощью API формы, и я не могу заставить флажки и переключатели работать должным образом. Хотя они отображаются в форме, отображается только первый вариант каждого из них, этот вариант отображается с заголовком формы:
У меня также есть поле выбора на странице, которое отображается нормально, и я передаю значения в поле выбора так же, как я передаю его в радио/флажки, с массив.
Как вы передаете значения в параметр #options для флажков и радиоприемников, или у меня просто где-то в коде произошла ошибка по неосторожности (показано ниже)?
Код для переключателей и флажков:
$facts = array(
'Ponycon' => t('Attended Ponycon'),
'PurhcaseMerch' => t('Purhcased My Little Pony: Friendship is Magic merchandise (dolls, cards, shirts, et cetera)'),
'PurchaseShow' => t('Purhcased Episodes'),
'Meetups' => t('Attended Brony meet-ups'),
'Fanclubs' => t('Part of a MY Little Pony: Friendship is Magic fanclub (Facebook, local, et cetera)'),
);
$form['fan_activities'] = array(
'#type' => 'checkbox',
'#title' => t('Which of the following have you done?'),
'#options' => $facts,
'#description' => t('Brony activities'),
);
$fdisc = array(
'friend' => t('A friend told me about it'),
'ads' => t('Advertisments (commercials, billboards, et certera)'),
'Internet' => t('The internet, but not through an ad (forum, website article, et cetera)'),
'Other' => t('Other'),
);
$form['discoverry'] = array(
'#type' => 'radio',
'#title' => t('How did you first hear about My Little Pony: Friendship is Magic?'),
'#options' => $fdisc,
'#description' => t('How you discovered the show'),
);
Код для рабочего поля выбора:
$fchoices = array(
'RainbowDash' => t('Rainbow Dash'),
'TwilightSparkle' => t('Twilight Sparkle'),
'Rarity' => t('Rarity'),
'PinkiePie' => t('Pinkie Pie'),
'Fluttershy' => t('Fluttershy'),
'Applejack' => t('Applejack'),
);
$form['favpony_area']['favpony'] = array(
'#type' => 'select',
'#title' => t('Who is your favourite Pony from the mane six?'),
'#options' => $fchoices,
'#default_value' => variable_get('favpony', 'RainbowDash'),
'#description' => t('Your favourite Pony frmo the mane six'),
);
1 answers
Единственное, что я мог бы предложить, это попробовать использовать "#тип" => "радио" и "#тип" => "флажки" вместо радио и флажка. Я считаю, что радио и флажок без буквы s в конце показывают только один вариант, как более подходящий для включения или выключения.
Попробуйте взглянуть на API форм для получения дополнительных объяснений