SOY Shopで各ページにあるカスタムスクリプトを利用すると、

ページへのアクセス・閲覧で様々な制限を設けることが可能です。


例えば、商品一覧ページはログインしている会員のみアクセス可能で、

ログインしていない方はログインページへ誘導するとか

カスタムスクリプトでページ閲覧に制限をつける - SOY CMS開発ブログ


SOY Shopで特別会員向けのページを作成したいというお問い合わせがありました。

ログインした方の中で更に特別会員でなければ表示出来ないページ


というわけで、

今回はカスタムスクリプトで特別会員向けのページの作成方法を紹介します。




最初に

SOY Mail等と連携しやすいように特別会員は顧客の属性値で設定することにします。

SOY Shopの注文検索と顧客検索の結果をSOY Mailで利用する機能を追加しました


特別会員の定義は、

顧客の属性1に「会員」という値が入っているデータにします。


はじめに


create_special_list_page


特別会員向けのページを作成します。

ページ種別は何であっても対応可能です。


ページが作成できたら、


create_special_list_page2


ページ設定の右側にある


create_special_list_page3


共通メニューのカスタムスクリプトを開き、


create_special_list_page4


この画面が表示されたら、

下記のコードを登録します。


//ログインしている会員のデータを取得する
$mypage = MyPageLogic::getMyPage();
$user = $mypage->getUser();

//ログインしている会員の属性1の値が「会員」以外はこのページを表示しない
if ($user->getAttribute1() !== "会員") {
  header("Location:/");
  exit;
}

これで終了です。


"会員"と、"Location:/"は特別会員の定義とサイトの構成に合わせて適宜修正してください。

今回はルート設定されたサイトのトップページを当てていますが、

Location:/user/loginにすればログインページへ誘導出来ますし、

予め特別会員への誘導の説明ページを作成して、そのページに誘導するという方法もありです。