ログイン後に元のページへ戻るように設定したい

現在、next パラメータを使用して、ログイン後に元のページへ戻るように設定しようとしています。

しかし、ログイン後に指定したページではなく、デフォルトのダッシュボードページに遷移してしまいます。

試したこと

  1. next に /home などのシンプルなパスを指定 → 反映されず

  2. next のURLをエンコード にしてみる → 変化なし

  3. シークレットモードや別のブラウザで試す → 同じ現象

  4. next ではなく return_to などの別のパラメータを試す → 効果なし

ログインシステムが next をサポートしていない可能性も考えられますが、何か解決策があれば教えていただけないでしょうか?
また、JavaScriptなどを使用してログイン後に元のページへ戻す方法も検討しています。

どなたかアドバイスをいただけると助かります!

@DAIYACOPORATION

Shopifyの公式なドキュメントは見つからないのですが、

/account/login?return_url=

でログイン後に遷移するページを指定できます。

ルート絶対パスで指定可能です。

例1: カートページに遷移させるのであれば、/account/login?return_url=/cart

例2: マイページに遷移させるのであれば、/account/login?return_url=/account

また、JavaScriptなどを使用してログイン後に元のページへ戻す方法も検討しています。

ログインページに下記の要素が生成されていたので、


ログインページでJavaScriptで、document.referrerを取得して、上記要素のvalueを書き換えることで、ログイン後に直前のページに遷移するようにできるかと思います。

※ ログインページでエラーが発生すると、ログインページ自体に遷移します。その場合、referrerがどうなるかは注意が必要です。

ご参考まで。

(キュー田辺)

Shopifyの公式なドキュメントは見つからないのですが

情報はあまり書かれていませんが以下が該当するかと思います。

https://shopify.dev/docs/storefronts/themes/login#direct-customers-back-to-another-page-on-the-online-store

把握されていた場合は申し訳ありません。

1 Like