Views Exposed Formの複数単語入力(textfield)をフォーム上だけ複数行入力(textarea)にする方法

カテゴリ Views Exposed Filter コアバージョン 8.4x 関連モジュール hook_views_pre_view

modles/custom/you_module/you_module.module

/**
 * Views Exposed form.
 *
 * @param $form
 * @param FormStateInterface $form_state
 * @param $form_id
 */
function your_module_form_views_exposed_form_alter(&$form, FormStateInterface $form_id) {
  switch ($form['#id']) {
    case 'your_form_id':
      $form['field_xxxxx']['#type'] = 'textarea';
      $form['field_xxxxx']['#rows'] = 5;
      break;
  }
}
/**
 * Views pre view.
 *
 * @param \Drupal\views\ViewExecutable $view
 * @param $display_id
 * @param array $args
 */
function your_module_views_pre_view(ViewExecutable $view, $display_id, array &$args) {
  if ($view->id() == 'your_view_id' && $display_id == 'your_display_id) {
      $value = \Drupal::request()->query->get('field_xxxxx');
      if (!empty($value)) {
        $value = trim(preg_replace('![\r\n]+!', ' ', $value));
        \Drupal::request()->query->set('field_xxxxxx', $value);
      }
    }
  }
}

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver.昇順で並び替える 関連モジュール タイトル
コンテンツの作成 8.4x archiver zipファイル圧縮・解凍する方法
Views 8.4x hook_views_query_alter Viewsクエリの条件式にサブクエリを追加する方法
Initial 8.4x Subscriber hook_init() 〜 drupal_goto() を drupal8でやる方法
コンテンツの管理 8.4x Entity EntityをPropertyで探す(クエリする)方法
コンテンツの作成 8.4x コンテンツ作成時のフォームレイアウトの変更
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法
テーマ 8.3x Theme drupal8 で パスに応じたページテンプレート名を利用する方法
テーマ 8.3x Core Twig開発用の設定
PHP 8.3x PHP drupa8でhook_init()する方法
テーマ 8.3x Block Cache Theme 管理ページから作成したカスタムブロックを非キャッシュ化する方法
拡張機能 8.3x Contribute modules drupal8-寄贈モジュールの動向
Custom module 8.3x Custom module Twig Block Cache カスタムモジュールのレンダリングを非キャッシュ化する方法
テーマ 8.3x Contribute themes drupal8-寄贈テーマの動向
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
Proxy 7.59 Proxy Apache settings.php リバースプロキシ(Apache)+バックグランドWeb(Drupal 7 )でログインセッションを維持する方法
サイトの環境設定 7.59 さくらのレンタルサーバー php Options さくらのレンタルサーバーで パブリック/プライベートディレクトリにファイルが書き込まれないとき
サイトの構築 7.59 Drupal.ajax drupal 7 で Uncaught TypeError: Drupal.ajax is undefined となったときの対応方法
ユーザの管理 7.59 user pass drupal 7 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法
テーマ 7.56 field レンダリング配列内に「ラベル非表示」を指定する方法
drush 7.54 Drush Drushでdrupalサイトをインストールする方法

ページ