флажки друпал форма api - PullRequest
       19

флажки друпал форма api

7 голосов
/ 10 февраля 2011

Я использую друпи форму api и чекбоксы.Я получаю проблему с проверенными значениями по умолчанию с ним.Ниже приведен фрагмент кода ...

$result = db_query("SELECT nid, filepath FROM {content_type_brand}, {files} WHERE content_type_brand.field_brand_image_fid
= files.fid");
        $items = array();
        while ($r = db_fetch_array($result)) {
                array_push($items, $r);
        }
        $options = array();
        foreach( $items as $i ) {
            $imagePath = base_path().$i['filepath'];
            $options[$i['nid']] = '<img src="'.$imagePath.'"></img>';
        }
        $form['favorite_brands'] = array (
            '#type' => 'fieldset',
            '#title' => t('Favorite Brands'),
            //'#weight' => 5,
            '#collapsible' => TRUE,
            '#collapsed' => FALSE,
        );
         $form['favorite_brands']['brands_options']
= array(
            '#type' => 'checkboxes',
            '#options' => $options,
            '#default_value' => $options_checked,// $options_checked is an array similar to $options but having elements which need to be checked by default...
            '#multicolumn' => array('width' => 3)
        );

, но значения по умолчанию не проверяются ... Может кто-нибудь помочь, что мне не хватает ??

1 Ответ

7 голосов
/ 14 апреля 2011

Ваш массив $ options_checked не должен быть в том же формате, что и ваш массив $ options. Ваш массив $ options содержит пары тегов nid => img. Ваш массив $ options_checked должен просто содержать значения nid опций, которые должны быть проверены по умолчанию:

$options_checked = array(8,17);
...