Drupal 7 Form API - 自定义选择主题

时间:2013-01-31 23:13:01

标签: php drupal drupal-7 form-api

我一整天都在搜索但是找不到任何答案 - 我确信我在Drupal 6中正常工作并且应该在Drupal 7中正常工作。

我想为我的表单中的select元素提供一个自定义主题功能

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

我有主题钩子来声明新的自定义主题函数,但我的问题是当使用上面的自定义主题函数时,我得到一个空的$ variables数组,只读取

Array([element] => null)

任何人都可以看到我可能做错了吗?清除缓存,完成我能想到的一切 - 为什么Drupal没有将元素数据传递给主题函数的任何想法?感谢

1 个答案:

答案 0 :(得分: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',
));

}

我把头发拉出来直到我记起渲染元素!