tamari
1
お世話になります。
【前提】
・テンプレート「Debut」を使用。
・オンラインストアは会員限定としています。
(Shopifyブログの手順で設定 https://www.shopify.com/jp/blog/shopify-members-only-store)
・他、アプリで「EasyLockdown Access Management」を使用し、特定商品を特定ユーザーにしか表示しないように設定中です。
【問題】
・ログイン画面にて、「パスワードをお忘れですか?」をクリックしても、パスワード発行ページが表示されない。
【ご相談】
パスワード画面を表示するための方法、また確認すべき点はございますでしょうか。
metaタグで「ログインしていなければなければ、ログインページ(account/login?checkout_url=/)を表示する」としている箇所を何らか変更で解決できるでしょうか。
ご助言いただけますと、大変助かります。
なお、「EasyLockdown」アプリで、ログインしていないユーザに対してパスワード変更のURLを許可しようとしましたが、効果はありませんでした。
よろしくお願いいたします。
Qcoltd
2
私が確認した限りでの回答になりますので、誤りがあった場合はご容赦ください。
Debutのバージョンにもよりますが、
私が確認したDebut 17.13.0では、
「パスワード発行ページ」は、
ログインページと同一のページです。
ログインページの中に、
パスワード発行用のフォームが埋まっており、
「パスワードをお忘れですか?」をクリックすると、
JavaScriptがDOM(HTML)を書き換え、
ログインフォームを隠して、
パスワード発行フォームを表示します。
パスワード発行フォームのDOM(HTML)は下記のようでした。
「パスワードをお忘れですか?」をクリックすることで、id=RecoverPasswordFormのdivのclassからhideが削除され、パスワード発行フォームが表示される、
という仕掛けです。
## パスワードをリセットする
パスワードをリセットするためのメールを送ります。
- divのidが、RecoverPasswordFormから変わってしまっていないか
- このDOM(HTML)に相当するものが、customers/login.liquidに存在するか
- JavaScriptの処理を変更してしまっていないか
- CSSを変更し、このDOM(HTML)が表示されないようにしてしまっていないか
などを確認されると良いかと思います。
あくまで、参考まで。
(キュー田辺)
1 Like
Qcoltd様
ご回答いただきありがとうございます。
ご回答いただいた内容をもとに、改めて見直しを行いました。
最終的にですが、「'theme.js」を修正することで、問題を解決しました。
今回この問題を解決するにあたり、インストールをしているアプリの制作者様にも問い合わせをしたところ、問題箇所の指摘をしていただきました。
(ご回答をいただいたアプリ側からは、「アプリ自体の問題ではない」ともご連絡いただいております)
アプリをインストールしていない状態のDebutでは問題なくパスワード設定画面が表示されるため、
複数アプリの設定を重ねたことで、なんらか競合による問題が発生したと考えております。
この辺りについては、今後再発がないよう検証をしたいと思います。
この度はご回答いただきまして、ありがとうございます。
JavaScript自体には編集をしていなかったたので、ご指摘いただいたことで改めて確認をすることができました。
とても助かりました!
1 Like