2013-01-31 171 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',
));

}

我拉我的头发,直到我想起了渲染元素!