ユーザー登録後に特定ページへ移動させる方法

ネットショップ(concrete5 +Bitter Shop System)では、concrete5 のユーザー管理機能を使って、顧客情報(名前、住所、連絡先等)を管理しています。このため、ネットショップで購入する人は、初回購入時にconcrete5 のユーザー登録を行います(アカウント作成しないで購入することもできます)。

そうすると、ユーザー登録した後、ショッピングカートへ移動するようになっていると、購入希望者にとって分かりやすく、スムーズですね。この処理を concrete5 に追加してみます。

イベント機能

concrete5にはイベント機能(WordPressのアクションフックのようなもの)が用意されています。イベントの中に、on_user_activateがあります。このイベントを使えば、「ユーザー登録後に何か処理する」が可能です。

Events::addListener('on_user_activate', function($event) {
     $url = "https://rescuework.nagoya/shop/shopping_cart";
     $r = new \Concrete\Core\Routing\RedirectResponse($url);
     $r->send();
     exit;
 });

上のコードのように記述すると、ユーザー登録後にhttps://rescuework/nagoya/shop/shopping_cartにリダイレクトします。$url の値を、ご自分のホームページのショッピングカートのURLにすれば、

ユーザー登録 => 完了後、ショッピングカートへ移動

が実現できます。