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',
));
}
Я вырывал свои волосы, пока не вспомнил элемент рендеринга!