2011-12-12 147 views
1

我有一個模塊負責處理ubercart(產品套件)中的特殊產品。該模塊負責根據用戶的選擇即時製作產品套件。我在我的uc_bundle_manager.module文件中使用了下面的函數。我似乎無法弄清楚如何渲染我的主題(作爲一個塊)的輸出。我不確定如何訪問或創建$ vars變量,以便它可以在我的模板中使用。目前該函數只是返回正確的產品工具包的節點想法(這在我的調試輸出中工作得很好)。任何幫助是極大的讚賞。謝謝!將模塊輸出添加到塊

function clothing_filter_form_submit($form, &$form_state) 
{ 
    /*--Form Values--*/ 
    $vals = array($form_state['values']['shirt'],$form_state['values']['hoodie'],$form_state['values']['hats']); 
    /*--DB isn't setup for this relationship. Maybe a better SQL query is better but TODO--*/ 
    $sql = "SELECT nid, product_id FROM uc_product_kits"; 
    $result = db_query($sql); 
    while($row = mysql_fetch_assoc($result)) 
    { 
     $rid = $row['nid']; 
     $bundles[$rid][] = $row['product_id']; 
    } 
    foreach($bundles as $key => $bundle) 
    { 
     $count = 0; 
     foreach($vals as $val) 
     { 
      if(in_array($val,$bundle)) 
      { 
       $count++; 
      } 
     } 
     //--If we match 3 items--// 
     if($count == 3) 
     { 
      $selected_bundle = $key; 
     } 
    } 
    return $selected_bundle; 
} 
+0

您需要澄清一點 - 上面的函數是一個表單提交功能。那些不產生輸出,並且不返回值!他們只返回URL重定向成功提交後(或者什麼也不做,在這種情況下,用戶停留在他提交表單的頁面上)。那麼你想在哪裏顯示你提到的'block'(以及與表單提交功能的關係)? –

回答

1

您將需要使用hook_block_info()函數來生成一個塊。我假設你正在使用d7。

下面是一個示例代碼

/** 
* Implements hook_block_info(). 
*/ 
function trails_block_info() { 
$blocks['history'] = array(
'info' => t('History'), 
'cache' => DRUPAL_NO_CACHE, 
); 


return $blocks; 
} 

乾杯, 維沙爾

+0

對不起,我正在使用D6。 –