web-dev-qa-db-ja.com

特殊文字を含む用語名をビューの用語IDに変換する

複数のtermIDを引数として使用したいという考えがあります。 URLの用語名を使用して、termIDに変換したい。私はこれを十分に簡単に行うことができました。「URL内のダッシュを用語名引数のスペースに変換する」をチェックすることで、単純な1単語の用語または複数の単語でも機能します。

「ニュースと政治」など、特殊文字を含む用語がいくつかあります。

ニースURL(ニュースポリティクス)を使用して、正しい用語を認識して正しい用語IDに変換するビューを取得する方法はありますか?アンパサンドをurlencodeする必要がありますか?それでも機能しますか?

編集:単一の分類用語のパスエイリアスを設定できますが、複数の引数を持つパスの2番目の引数として用語名を使用する場合は問題があります。例:

ビューの結果を%1ニュース用語、次に%2ニュース&政治でフィルターしたいとします

/ news/news-politics

2番目の用語は認識されません。

11
nickwshaw

pathauto を使用して、分類用語の自動エイリアスを設定できます。 Pathautoは、自動エイリアスを作成するときに、無効なURL文字を処理します。次に、ビューで用語idを引数として使用します。ビューのパスは、分類法/用語/%または設定したオートエイリアス/%のいずれかです。

2
Jepedo

問題#672606:プラス記号、ダッシュ、およびスラッシュ(+-/)ブレーク引数 で報告されたViewsモジュールの長期にわたるバグが原因で、Drupal.orgで使用できない特定の特殊文字を含む引数(または最近の用語では「コンテキストフィルター」)の用語名として。いくつかの回避策 そこで提案されています

  1. 計算フィールド (computed_field)モジュールのようなものを使用して、を使用できるエンティティという用語にURLフレンドリーなフィールド値を作成します引数として。一意性に注意しないと、非常によく似た用語が互いに混同する(スリムな)可能性に注意してください。
  2. 引数に用語IDを使用し、 View Alias (view_alias)モジュールを使用してそれらのパスエイリアスを作成するだけです。
2
TravisCarden