web-dev-qa-db-ja.com

お問い合わせフォームのURLエイリアスをどのように変更しますか?

簡単そうですね。どこにも見つかりません。私のお問い合わせフォームのパスは残ります:

/contact/contact_us

そして、これをどこに変更すればよいかわかりません。私はフォーム設定の下でチェックしました:

/admin/structure/contact/manage/contact_us

これにより、おそらくすべての連絡先フォームが構造内にあると信じるようになります。

/contact/[FORM_SYSTEM_NAME]

それは事実ですか、それを変更することは可能ですか?

[〜#〜]更新[〜#〜]

私が本当に欲しいのは、連絡先フォームごとの単純なALIASフィールドなので、自分でURLエイリアスを設定できますか?

7
coderama

[設定]-> [URLエイリアス]に移動し、/ contact/contact_usを指す/ contact-usの新しいエイリアスを追加しました

その結果は、/ contact-usと入力するとだれでも/ contact/contact_usに到達することになると予想していましたが、代わりに反対のことが起こっています。/contact/contact_usと入力すると、/ contact-usにリダイレクトされ、ページが表示されます。

これはDrupal 7の動作とは少し異なりますが、これが私が必要とした答えです。

9
coderama

実際には、変更することができます。そのためには、ルートサブスクライバーサービスクラスを使用する必要があります。

このようなクラスは、連絡先ページのパスを変更する機能を提供するalterRoutesメソッドを実装します。

コンピューターの近くにいるときにコード例を更新します。

2
Eyal

はい、そうです。 変更することはできません。

とはいえ、いつでもエイリアスを追加して、/ contact/form-idのエイリアスとして任意のパスを使用できます。お問い合わせフォームから直接入手することはできません(ただし、未解決の問題があります)。ただし、admin/config/search/pathのエイリアスの概要ページから手動で追加する必要があります。

1
Berdir