web-dev-qa-db-ja.com

アンパサンドがurlencodeされず、GETパラメータが壊れる

ビューを使用して、いくつかのパラメーターを含む動的URLを作成しています。残念ながら、私はパラメーターとしてノードのタイトルを含めていますが、たまたま、タイトルの多くに&が含まれています。

したがって、ビューのカスタムURLは次のようになります。seminar?c = [field_seminar_cycle]&n = [field_seminar_num]&t = [title]

しかし、ビューを作成するとき、[title]内のアンパサンドはURLエンコードされないようです。 drupalリンクを作成する方法は、特別な文字に基づいてURLを分割し、他の部分をすべて結合する前に他の部分をURLエンコードすることだと思います。

リンクに追加する前にタイトルフィールドをURLエンコードする方法はありますか?テンプレートを介してのみ実行できますか、それともビューのGUIを介して回避策はありますか?

5
Perisdr

少しリファクタリングして、タイトルをIDに置き換えて、問題を完全に回避できると思います。

ただし、ビューの問題キュー全体で同様の問題が処理されていることがわかります。 これ のように。

1
paul-m

タイトルの代わりにパスフィールドを使用しないのはなぜですか?セットアップでpathautoモジュールを実行していると仮定すると、代わりにpathを使用でき、&は除外されます。

さらに良い結果を得るには、pathautoに加えて文字変換を使用しました。

0
Aaron Ortega