Мне нужно создать несколько готовых списков опций для веб-формы в Drupal 7, делая разные запросы к разным таблицам PostgreSQL.На самом деле мой модуль работает только для одного списка опций, но я не знаю, как создать еще один.Это мой код в файле модуля:
function webform_options_webform_select_options_info() {
$items = array();
$items['node_titles'] = array(
'title' => t('Example Option'),
'options callback' => '_get_node_titles',
);
return $items;
}
function _get_node_titles() {
db_set_active('external_db');
$options = db_query('SELECT DISTINCT name, name FROM table ORDER BY name')->fetchAllKeyed();
db_set_active('default');
return $options;
}
решено
Я нашел решение, это было довольно просто, вот рабочий код:
function webform_options_webform_select_options_info() {
$items = array();
$items['node_titles'] = array(
'title' => t('Example Option'),
'options callback' => '_get_node_titles',
);
$items['node_titles_2'] = array(
'title' => t('Example Option 2'),
'options callback' => '_get_node_titles_2',
);
return $items;
}
function _get_node_titles() {
db_set_active('external_db');
$options = db_query('SELECT DISTINCT name, name FROM table ORDER BY name')->fetchAllKeyed();
db_set_active('default');
return $options;
}
function _get_node_titles_2() {
db_set_active('external_db');
$options = db_query('SELECT DISTINCT name2, name2 FROM table2 ORDER BY name2')->fetchAllKeyed();
db_set_active('default');
return $options;
}