2013-01-31 172 views
0

我一直在尋找了一整天,但無法找到任何答案 - 我相信我做的是正確的,如Drupal的6工作正常,並應在Drupal 7Drupal 7的形式API - 自定義選擇主題

做工精細我想給一個自定義主題功能,我選擇元素在我的形式

$form['field_name'] = array(
'#type' => 'select',
'#title' => t('Title Here'),
'#theme' => 'custom_select',
'#options' => $values,
);

我已在申報新的自定義主題功能主題勾對,但使用的是自定義主題功能上面我時,我的問題是,獲得一個空的$變量數組,它只是讀取

Array([element] => null)

任何人都可以看到我可能做錯了什麼?清除緩存,完成我能想到的任何事情 - 爲什麼Drupal沒有將元素數據傳遞給主題函數?謝謝

+0

發佈您的掛鉤主題。 D7使用變量而不是參數。 – Ben

+0

嗨本 - 是的,我知道它併發布了下面的答案 - 現在就明白了!是一個拉毛 - 謝謝你的幫助,雖然 – coder4show

+1

很高興你解決了它。我在想這個問題在hook_theme中。 – Ben

回答

1

好了終於想出了這個問題,否則任何人都有問題 - 確保你在hook_theme中設置渲染元素而不是變量!

function hook_theme(){

return array(
'select_currency' => array(
'variables' => array('element' => null),
'file' => 'module_name.theme.inc',
));

}

function hook_theme(){

return array(
'select_currency' => array(
'render element' => 'element',
'file' => 'module_name.theme.inc',
));

}

我拉我的頭髮,直到我想起了渲染元素!