Несколько опций списка запросов к другой таблице в веб-форме drupal 7 - PullRequest
0 голосов
/ 14 марта 2019

Мне нужно создать несколько готовых списков опций для веб-формы в 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;
}
...