データベースに、次を含む名前から作成されたスラッグ フィールドがあります&
。
name: Hansel & Gretel
slug: hansel-&-gretel
Doctrine は、URL に適していない名前の文字を削除します。まあ、&
間違いなくURLフレンドリーです。
さて、symfony でおとぎ話へのリンクを生成すると、次のlink_to()
ようになります。
http://myfairytalesite.ft/tale/hansel-%26amp%3B-gretel
したがって、&
URL エンコードされる前に、HTML エンティティに変更されます。
hansel-&-gretel
この URL に移動すると、404 エラーが発生します。これは、スラッグが URL デコードされているだけであり、ルート (sfDoctrineRoute)が明らかにデータベースに存在しないスラッグを持つオブジェクトを見つけようとするためです。
私の質問: 私はそれについて何ができますか?
名前は外部ソースからインポートされるため、手動で変更することはできません。
ナメクジを使ったアクションに追加しようと思ったのですhtml_entities_decode
が、飛行機に翼をガムテープで付けるような感じで…
私は Symfony の内部を掘り下げて、そこで何を変更できるかを確認しようとしましたが、Balrog を起動するのではないかと心配するほど深く掘り下げましたが、興味深いものは何も見つかりませんでした。:/
誰かが同様の問題を抱えていましたか?Sf または Doctrine のバグでしょうか?