2011-02-10 11 views
7

मैं ड्रूपल फॉर्म एपीआई का उपयोग कर रहा हूं और चेकबॉक्स का उपयोग कर रहा हूं। मुझे इसके साथ डिफ़ॉल्ट चेक किए गए मानों में समस्या हो रही है। निम्नलिखित कोड का टुकड़ा है ...ड्रूपल फॉर्म एपीआई चेकबॉक्स

$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) 
     ); 

लेकिन मान डिफ़ॉल्ट रूप से चेक नहीं कर रहे हैं ... किसी को भी मदद कर सकते हैं कि मैं क्या याद आ रही है ??

धन्यवाद

+0

$ options_checked परिभाषित किया गया है? समस्या यह है कि प्रदान किया गया स्निपेट किसी भी तरीके से $ options_checked को परिभाषित नहीं करता है, इसलिए डिफ़ॉल्ट रूप से कोई चेकबॉक्स चेक नहीं किया जाता है – zerolab

उत्तर

7

आपका $ options_checked सरणी अपने $ विकल्प सरणी के स्वरूप में ही नहीं होना चाहिए। आपके $ विकल्प सरणी में nid => img टैग जोड़े शामिल हैं। आपके $ options_checked सरणी में केवल विकल्पों के निहित मान होना चाहिए जिन्हें डिफ़ॉल्ट रूप से चेक किया जाना चाहिए:

$options_checked = array(8,17); 
संबंधित मुद्दे