Drupal 7 Form API - Пользовательская тема выбора

Я искал весь день, но не смог найти никаких ответов - я уверен, что я делаю это правильно, так как работал в Drupal 6 и должен работать в Drupal 7.

Я хочу дать пользовательскую функцию темы для моего элемента выбора в моей форме

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

У меня есть право ловить тему, чтобы объявить новую пользовательскую функцию темы, но моя проблема заключается в том, что при использовании этой пользовательской функции темы, как указано выше, я получаю пустой массив $ variable, который просто читает

Array([element] => null)

Кто-нибудь может увидеть, что я могу делать не так? очистил кеш, сделал все, что я могу придумать - есть идеи, почему Drupal не передает данные элемента в функцию темы? Спасибо

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

}

Я вырывал свои волосы, пока не вспомнил элемент рендеринга!

Другие вопросы по тегам