0

私のアプリケーションは、製品のカテゴリと名前に基づいてさまざまなURLを生成します。たとえば、カテゴリ別に商品を閲覧するには、URLは次のようになります。

localhost/category/Memory Cards

問題は、スペースが%20sに変換されることです。Iurlencodeまたはrawurlencodeスペースが+符号に変換されているが、同等のもの/に変換されている場合%xx、URLのコントローラーへのマッピングが無効になります。

すべてのURLを。+ではなく記号でエンコードする必要がありspacesます。ヘルパーを使うことができます。ただし、どこでもヘルパーメソッドを呼び出す必要があります。

hooksHTMLを変更し、すべてのURLをスキャンしてspaces+記号に置き換えるために使用できますか?

標識spacesからURLをデコードして戻す必要もあります。+どうすればそれができますか?

そして、私のアプローチがすべて間違っているとあなたが考えるならば、それをする適切な方法は何でしょうか?

4

1 に答える 1

3

これを行うための好ましい方法は、名前のURLに適したバージョン(小文字で、スペースと奇妙な文字をダッシュ​​/アンダースコアに置き換える)である追加のフィールド(通常、フィールドの名前に「スラッグ」を使用します)をテーブルに含めることです。 / whatever)、それを一意に保つようにしてから、それを使用して製品へのURLを生成し、要求がどの製品であるかを識別します。

したがって、URLはのようになりますlocalhost/category/memory-cards

url_title()ナメクジを生成するために使用できます

于 2012-10-06T11:05:34.487 に答える