0

我整天都在搜索,但找不到任何答案——我确信我做得对,在 Drupal 6 中运行良好,并且在 Drupal 7 中应该运行良好。

我想为表单中的选择元素提供自定义主题功能

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

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

Array([element] => null)

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

4

1 回答 1

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',
));

}

我一直在拔头发,直到我想起渲染元素!

于 2013-02-01T10:44:00.123 回答