我一整天都在搜索但是找不到任何答案 - 我确信我在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没有将元素数据传递给主题函数的任何想法?感谢
答案 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',
));
}
我把头发拉出来直到我记起渲染元素!