2012-01-23 2 views
5

4 개의 라디오 버튼이 있는데, 각각에 설명을 추가하고 싶습니다. 라디오 버튼 그룹 만이 아닙니다.drupal을 사용하여 각 라디오 버튼에 설명을 추가하십시오. 7 forms api

이 내 코드입니다 : 내가 어떤 도움이 작업을 수행 할 수없는 것

 $form['bedrijfsfiche'] = array(
     '#type' => 'radios', 
     '#title' => t('Keuze bedrijfsfiche'), 
     '#options' => array('basis' => t('Basisbedrijfsfiche: €125'), 'Uitgebreid' =>   t('Uitgebreide bedrijfsfiche: €250'), 'gratis' => t('Gratis bedrijfsfiche'), 'contact' => t('Contacteer mij telefonisch voor meer uitleg')), 
     '#access' => $admin, 
    ); 

?

답변

8

기본적으로 개별 라디오 버튼은 라디오의 일부일 때 설명이 제공되지 않지만 코드에 표시된 내용에 따라 라디오 버튼을 직접 추가 할 수 있어야합니다. 라디오 버튼은 개별 버튼에 전개되고 나중에

$descriptions = array(...); // descriptions, indexed by key 

    foreach ($form['bedrijfsfiche']['#options'] as $key => $label) { 
    $form['bedrijfsfiche'][$key]['#description'] = $descriptions[$key]; 
    } 

, 이들 어레이 [$ 키] 위치에 개별 무선 요소 것 있지만 붙여서이를 않으므로이 어떤 미리 보존되어있다. 즉, 설명을 추가 할 수 있으며 실제 라디오 버튼을 사용하면됩니다.

+0

이 작품은 나를 위해! 고마워! –

3

각 라디오 옵션에 대해 양식 배열에 추가 키를 추가해야합니다. 형식 배열의 키는 #options에서 사용 가능한 옵션의 키이어야하며 값은 #description 키와 제공 할 문자열을 포함하는 배열이어야합니다.

필드의 경우 라디오 옵션은 $ form [ 'field_foo'] [$ lang] [ 'options]]에 저장됩니다. #options 배열의 내용이 ('buyer'=> 'Buyer', 'seller'=> 'Seller')이면 다음과 같이 설명을 추가합니다.

// Since users and forms do not have language, use none. 
$lang = LANGUAGE_NONE; 

// Add descriptions to the radio buttons. 
$form['field_foo'][$lang]['buyer'] = array(
    '#description' => t('Are you a sommelier, wine director, or beverage manager?'), 
); 
$form['field_foo'][$lang]['seller'] = array(
    '#description' => t('Are you a wine rep for a distributor, wholesaler, importer, or for a specific label?'), 
); 

다소 이상하지만 작동합니다. :)

관련 문제