web-dev-qa-db-ja.com

「結果の動作なし」内に検索語を挿入する

Drupal 8のビューの[結果なしの動作]セクション内で、[フィルターされていないテキスト]オプションを使用して、カスタムテキストと共に検索用語を出力するにはどうすればよいですか?

私の望ましい出力は、「search termの結果が見つかりませんでした...」です。

誰かが解決策を提案できますか?

4
cwiggo

あなたはtemplate_preprocess_views_viewを使うことができます

 function template_preprocess_views_view(&$variables) {
  $view = $variables['view'];
  $variables['view_total_count'] = $view->total_rows;

  if ($view->total_rows === 0) {
    $exposed_input = $view->getExposedInput();
    $search_term = $exposed_input['your search input'];
    $variables['empty'] = 'No results found for'.$search_term.', please ...';
  }
}

次に、twigテンプレートで、空の変数を出力します。

1
Mohammed ATIFI

たぶんあなたはJSを使うことができます。

「検索用語」の代わりにプレースホルダを配置します。多分_<span id="search-term">search term</span>_を使用すると、JSが無効になっても機能します。

次に、検索語を変数に格納し、それを_var searchTerm_と呼び、テキストをdocument.getElementById("search-term") = searchTermに置き換えます。

これで、検索用語を保存するだけです。

  • 検索語がURLにある場合は、 このチュートリアル に従って抽出します。
  • そうでない場合は、詳細をお知らせください。解決策を更新します。
0
Chris Happy

かなり古いようですが、ここに解決策を投稿します。ここでは search_api_spellcheck のD8ポートを使用できます- https://github.com/nuvoleweb/search_api_spellcheck 。これは公式リリースではありませんが、正常に動作します。

0
Vaibhav Jain