バージョン選択

フォーラム

メニュー

オンライン状況

46 人のユーザが現在オンラインです。 (35 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 46
もっと...

サイト内検索

質問 > フロント機能 > 会員登録画面の複製について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bonbonbon
投稿日時: 2018/2/26 14:47
対応状況: 確認中
新米
登録日: 2018/2/26
居住地:
投稿: 3
会員登録画面の複製について
▼テンプレート
[EC-CUBE] 2.13.5
[OS] macOS Sierra 10.12.6
[PHP] PHP 5.6.30
[データベース] MySQL 5.6.35
MAMP(バージョン4.2)にインストール
[導入プラグインの有無] 無し
[カスタマイズの有無] 無し
[現象]
会員登録画面を
・通常の新規登録
・特別な新規登録(見た目が少し違うだけ、DBや項目は同じ)
と2つ用意しようと思っています。

そこでentry/kiyaku.phpからボタン押下で
entry/index.phpで遷移する際、「?〇〇=△△」とパラメータを持たせ、
パラメータがあるかどうかをentry/index.php内で条件分岐し、
「frontparts/form_personal_input.tpl」を別のテンプレートを読むように出来るのではと実際に試してみました。

ところが「通常の新規登録」では問題ないのですが、
「特別な新規登録」だと確認画面に遷移しません。

「確認ページへ」ボタンを押すと、
入力エラー画面にもならず「不正なページ移動です。」という表示になってしまいます。

クラスファイルなどは触っていません。

何が原因か、どうすれば解消されるか、ご教授願えますと助かります。
よろしくお願いします。
yuh
投稿日時: 2018/2/28 13:48
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1512
Re: 会員登録画面の複製について
特別な新規登録のテンプレートに
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />

これが抜けているか、渡しているパラメータが引き継がれてないかとかですかね?


----------------
ec-cube2系の速度UPしてみました。(商品数:100万件)
https://speedtest2.ec-lab.net/products/list.php?category_id=15
ec-cube2系最速!(自称)

bonbonbon
投稿日時: 2018/2/28 17:53
対応状況: −−−
新米
登録日: 2018/2/26
居住地:
投稿: 3
Re: 会員登録画面の複製について
yuh様
ご回答ありがとうございます。

私もパラメータが引き継がれていないような気がしているのですが、原因箇所がわからず…。

ソースコードは下記になります。

<div id="undercolumn">
    <div id="undercolumn_entry">
        <h2 class="title"><!--{$tpl_title|h}--></h2>
        <!--{if $smarty.const.CUSTOMER_CONFIRM_MAIL}-->
            <p>ご登録されますと、まずは仮会員となります。<br />
                入力されたメールアドレスに、ご連絡が届きますので、本会員になった上でお買い物をお楽しみください。</p>
        <!--{/if}-->



<!--{if $smarty.get.copy=='1'}-->
<p>これは通常の新規登録ではありません!!URLのパラメータで振り分けてます。</p>
        <form name="form1" id="form1" method="post" action="?copy=1">
            <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
            <input type="hidden" name="mode" value="confirm" />
            <table summary="会員登録フォーム2">
            <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/form_personal_input2.tpl" flgFields=3 emailMobile=false prefix=""}-->
            </table>

<!--{else}-->
        <form name="form1" id="form1" method="post" action="?">
            <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
            <input type="hidden" name="mode" value="confirm" />
            <table summary="会員登録フォーム1">
            <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/form_personal_input.tpl" flgFields=3 emailMobile=false prefix=""}-->
            </table>

<!--{/if}-->


            <div class="btn_area">
                <ul>
                    <li>
                        <input type="image" class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_confirm.jpg" alt="確認ページへ" name="confirm" id="confirm" />
                    </li>
                </ul>
            </div>

        </form>
    </div>
</div>
sumida
投稿日時: 2018/2/28 21:41
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 会員登録画面の複製について
横から失礼します。
method="post"
を指定しているので、
?copy=1
が引き継げないのではないでしょうか。
(method="get"ではないので)
bonbonbon
投稿日時: 2018/3/1 13:44
対応状況: −−−
新米
登録日: 2018/2/26
居住地:
投稿: 3
Re: 会員登録画面の複製について
sumida様
ご回答ありがとうございます。

getに変更してみましたが、やはり「不正な…」となり確認画面へ遷移できませんでした。
sumida
投稿日時: 2018/3/2 14:23
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 会員登録画面の複製について
私が思っていたのは、
        <form name="form1" id="form1" method="post" action="?">
            <input type="hidden" name="copy" value="1" />
            <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
            <input type="hidden" name="mode" value="confirm" />

で、hiddenにcopyを追加したものです。

ただ、これが原因ではないと思いますが。
ゲスト
投稿日時: 2018/3/8 14:09
対応状況: −−−
Re: 会員登録画面の複製について
こんな感じでどうでしょう。

data\class\pages\entry\LC_Page_Entry.php

    /**
     * Page のプロセス
     * @return void
     */
    public function action()
    {
    	//決済処理中ステータスのロールバック
        $objPurchase = new SC_Helper_Purchase_Ex();
        $objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);

        $objFormParam = new SC_FormParam_Ex();

        // PC時は規約ページからの遷移でなければエラー画面へ遷移する
        if ($this->lfCheckReferer() === false) {
            SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
        }

        SC_Helper_Customer_Ex::sfCustomerEntryParam($objFormParam);
        $objFormParam->setParam($_POST);

        // mobile用(戻るボタンでの遷移かどうかを判定)
        if (!empty($_POST['return'])) {
            $_REQUEST['mode'] = 'return';
        }

        $this->copy = $_REQUEST['copy'];

        switch ($this->getMode()) {
            case 'confirm':
                if (isset($_POST['submit_address'])) {


data\Smarty\templates\default\entry\kiyaku.tpl

<div id="undercolumn">
    <div id="undercolumn_entry">
        <h2 class="title"><!--{$tpl_title|h}--></h2>
        <p class="message">【重要】 会員登録をされる前に、下記ご利用規約をよくお読みください。</p>
        <p>規約には、本サービスを使用するに当たってのあなたの権利と義務が規定されております。<br />
            「同意して会員登録へ」ボタンをクリックすると、あなたが本規約の全ての条件に同意したことになります。
        </p>

        <form name="form1" id="form1" method="get" action="?">
            <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
            <textarea name="textfield" class="kiyaku_text" cols="80" rows="30" readonly="readonly"><!--{"\n"}--><!--{$tpl_kiyaku_text|h}--></textarea>

            <div class="btn_area">
                <ul>
                    <li>
                        <a href="<!--{$smarty.const.TOP_URL}-->">
                            <img class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_entry_cannot.jpg" alt="同意しない" />
                        </a>
                    </li>
                    <li>
                        <a href="<!--{$smarty.const.ENTRY_URL}-->?copy=1">
                            <img class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_entry_agree.jpg" alt="同意して会員登録へ" />
                        </a>
                    </li>
                     <li>
                        <a href="<!--{$smarty.const.ENTRY_URL}-->?copy=2">
                            <img class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_entry_agree2.jpg" alt="同意して会員登録2へ" />
                        </a>
                    </li>
                </ul>
            </div>

        </form>
    </div>
</div>

data\Smarty\templates\default\entry\index.tpl

<div id="undercolumn">
    <div id="undercolumn_entry">
        <h2 class="title"><!--{$tpl_title|h}--></h2>
        <!--{if $smarty.const.CUSTOMER_CONFIRM_MAIL}-->
            <p>ご登録されますと、まずは仮会員となります。<br />
                入力されたメールアドレスに、ご連絡が届きますので、本会員になった上でお買い物をお楽しみください。</p>
        <!--{/if}-->

        <form name="form1" id="form1" method="post" action="?">
            <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
            <input type="hidden" name="mode" value="confirm" />
            
            <!--{if $copy == 2}-->
                <p>これは通常の新規登録ではありません!!URLのパラメータで振り分けてます。</p>
                <input type="hidden" name="copy" value="2" />
                <table summary="会員登録フォーム2">
                <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/form_personal_input2.tpl" flgFields=3 emailMobile=false prefix=""}-->
                </table>
            <!--{else}-->
                <input type="hidden" name="copy" value="1" />
                <table summary="会員登録フォーム1">
                <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/form_personal_input.tpl" flgFields=3 emailMobile=false prefix=""}-->
                </table>
            <!--{/if}-->
            
            <div class="btn_area">
                <ul>
                    <li>
                        <input type="image" class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_confirm.jpg" alt="確認ページへ" name="confirm" id="confirm" />
                    </li>
                </ul>
            </div>
        </form>

    </div>
</div>

data\Smarty\templates\default\entry\confirm.tpl

<div id="undercolumn">
    <div id="undercolumn_entry">
        <h2 class="title"><!--{$tpl_title|h}--></h2>
        <p>下記の内容で送信してもよろしいでしょうか?<br />
            よろしければ、一番下の「会員登録をする」ボタンをクリックしてください。</p>

        <form name="form1" id="form1" method="post" action="?">
            <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
            <input type="hidden" name="mode" value="complete">
            <!--{foreach from=$arrForm key=key item=item}-->
                <input type="hidden" name="<!--{$key|h}-->" value="<!--{$item.value|h}-->" />
            <!--{/foreach}-->
            
            <!--{if $copy == 2}-->
                <input type="hidden" name="copy" value="2" />
                <table summary="入力内容確認2">
                <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/form_personal_confirm2.tpl" flgFields=3 emailMobile=false prefix=""}-->
                </table>
            <!--{else}-->
                <input type="hidden" name="copy" value="1" />
                <table summary="入力内容確認1">
                <!--{include file="`$smarty.const.TEMPLATE_REALDIR`frontparts/form_personal_confirm.tpl" flgFields=3 emailMobile=false prefix=""}-->
                </table>
            <!--{/if}-->
            
            <div class="btn_area">
                <ul>
                    <li>
                        <a href="?" onclick="eccube.setModeAndSubmit('return', '', ''); return false;">
                            <img class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_back.jpg" alt="戻る" />
                        </a>
                    </li>
                    <li>
                        <input type="image" class="hover_change_image" src="<!--{$TPL_URLPATH}-->img/button/btn_entry.jpg" alt="会員登録をする" name="send" id="send" />
                    </li>
                </ul>
            </div>

        </form>
    </div>
</div>


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

統計情報

総メンバー数は32,115名です
総投稿数は87,532件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1774
4
yuh
1512
5
468
1224
6
red
1178
7
umebius
1007
8
fukap
907
9
shutta
827
10
tsuji
815
11 ramrun 789
12 karin 656
13
tao_s
651
14 sumida 641
15
homan
633
16 DELIGHT 571
17
h_tanaka
566
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.