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


11

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

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

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

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

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

/ news / news-politics

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


引数として用語名を使用しないのはなぜですか?
dobeerman

同じ問題。アンパサンドがないため、drupalは用語を見つけることができません。唯一のオプションは、SEOが熱心でないアンパサンドをURLエンコードするか、または各用語のパスエイリアスをデータベースに保存することです。誰かが以前にこれに遭遇し、優れた戦略を持っているかどうか疑問に思いました。
nickwshaw

まあ、短期的な解決策として、&を単に単語andに置き換えます。したがって、ニュースと政治(ニュースと政治)はニュースと政治(ニュースと政治)になります
nickwshaw

回答:


2

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


1
Jepedoに感謝します。これは、単一の分類用語の優れたソリューションです。ただし、この用語を複数引数のパスでワイルドカード引数として使用する場合は、まだ問題があります。私は自分の元の投稿でそのことを述べ、編集しました。
nickwshaw


2

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

  1. 計算フィールド(computed_field)モジュールのようなものを使用して、引数として使用できる用語エンティティにURLフレンドリーなフィールド値を作成します。一意性に注意しない場合は、非常に類似した用語が互いに混同する(スリムな)可能性に注意してください。
  2. 単に引数に用語IDを使用し、エイリアスの表示(view_alias)モジュールを使用してそれらのパスエイリアスを作成します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.