You are here

function google_cse_form_search_block_form_alter in Google Custom Search Engine 8.3

Same name and namespace in other branches
  1. 8.2 google_cse.module \google_cse_form_search_block_form_alter()
  2. 7.3 google_cse.module \google_cse_form_search_block_form_alter()
  3. 7 google_cse.module \google_cse_form_search_block_form_alter()
  4. 7.2 google_cse.module \google_cse_form_search_block_form_alter()

Adds custom submit handler for search block form.

File

./google_cse.module, line 121
Display a Google Custom Search Engine (CSE) on your site.

Code

function google_cse_form_search_block_form_alter(&$form, &$form_state, $form_id) {
  $config = \Drupal::config('search.page.google_cse_search');
  $activeSearchPages = \Drupal::service('search.search_page_repository');
  if (array_key_exists('google_cse_search', $activeSearchPages
    ->getActiveSearchPages())) {
    $default = $activeSearchPages
      ->getDefaultSearchPage();
    $type = \Drupal::service('plugin.manager.search');
    $plugin_definition = $type
      ->getDefinition($default);
    \Drupal::service('google_cse.services')
      ->siteSearchForm($form);
    $form['#attributes']['class'][] = 'google-cse';
    $form['#attached']['library'][] = 'google_cse/googlecseWatermark';
    $form['#attached']['drupalSettings']['googleCSE'] = [
      'cx' => $config
        ->get('configuration')['cx'],
      'language' => google_cse_language(),
      'resultsWidth' => intval($config
        ->get('configuration')['results_width']),
      'domain' => $config
        ->get('configuration')['domain'],
      'isDefault' => $plugin_definition['provider'] === "google_cse" ? TRUE : FALSE,
    ];
  }
}