Как вы устанавливаете параметр #параметры для флажков и переключателей?


Я пытаюсь создать форму с помощью API формы, и я не могу заставить флажки и переключатели работать должным образом. Хотя они отображаются в форме, отображается только первый вариант каждого из них, этот вариант отображается с заголовком формы:

enter image description here

У меня также есть поле выбора на странице, которое отображается нормально, и я передаю значения в поле выбора так же, как я передаю его в радио/флажки, с массив.

Как вы передаете значения в параметр #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
Author: Wipqozn, 2012-04-12

1 answers

Единственное, что я мог бы предложить, это попробовать использовать "#тип" => "радио" и "#тип" => "флажки" вместо радио и флажка. Я считаю, что радио и флажок без буквы s в конце показывают только один вариант, как более подходящий для включения или выключения.

Попробуйте взглянуть на API форм для получения дополнительных объяснений

 2
Author: Teegan, 2012-04-12 01:55:14