EC-CUBEで会員登録をトップページから行えるようにする。

EC-CUBEでは、会員登録の入力画面(/entry/index.php)へ移動する際に、
ご利用規約(/entory/kiyaku.php)から移動をしないとエラーになるという仕様になっています。

この仕様は以下のデメリットがあります。
●購入直前からしか会員登録が出来ないため、トップページでポイント利用のメリットを打ち出し、すぐに登録させる事が出来ない。

●規約を別ページで用意しているため、無駄なクリックが発生。

この仕様を変更するには、以下の行をコメントアウトすれば、対処できます。

/data/class/pages/entry/LC_Page_Entry.php

if (empty($_POST) && !preg_match('/shopping/', basename($_SERVER['HTTP_REFERER']))) {
            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, "", true);
        }

また、規約の文章を入力画面に移動させる必要があります。

/data/Smarty/templates/default/entry/kiyaku.php の以下の行をコピー
/data/Smarty/templates/default/entry/index.php にペースト。
CSSを修正して整形する。

<textarea name="textfield" class="area470"  cols="80" rows="30"
                 readonly="readonly"><!--{$tpl_kiyaku_text}--></textarea>

このままでは、規約の文書が表示されないため、以下のコードを挿入。

        $objQuery = new SC_Query();
        $objQuery->setorder("rank DESC");
        $arrRet = $objQuery->select("kiyaku_title, kiyaku_text", "dtb_kiyaku", "del_flg <> 1");

        $max = count($arrRet);
        $this->tpl_kiyaku_text = "";
        for ($i = 0; $i < $max; $i++) {
            $this->tpl_kiyaku_text.=$arrRet[$i]['kiyaku_title'] . "\n\n";
            $this->tpl_kiyaku_text.=$arrRet[$i]['kiyaku_text'] . "\n\n";
        }

/data/Smarty/templates/default/shopping/index.phpからのリンクを修正して完了。

This entry was posted in EC-CUBE. Bookmark the permalink. Comments are closed, but you can leave a trackback: Trackback URL.