1

顧客ごとに異なる価格を請求したいクライアントがいます。一部の製品は 43% 割引され、他の製品は 47% 割引され、プロモーション コードはドル額の割引または % の割引に対してのみ機能します。顧客がログインして、ログインに基づいた特別価格を表示することは可能ですか?

4

1 に答える 1

3

はい、できます。アカウントの種類ごとに異なるセキュア ゾーン サブスクリプションをセットアップする必要があります。少しコーディングが必要です。

たとえば、「小売」と「卸売」のセキュア ゾーンを設定できます。次に、javascript/jQuery を使用{module_subscriptions}して、非表示の div にタグを貼り付けることで、ユーザーのサブスクリプション レベルを判断できます。ユーザーがログインすると、タグはユーザーが購読しているセキュア ゾーンのリストを出力し、それを使用して表示する価格を決定できます。

HTML:

   <!--stick this before the closing body tag in your template-->
    <div id="userSecureZones" style="display: none;">
        <!--outputs all secure zone subscriptions when logged in -->
        {module_subscriptions}
    </div>

   <!--When the page loads, BC will replace the {module_subscriptions} 
   with something like this-->
    <div id="userSecureZones" style="display: none;">
       <li>
         <ul>
            <!--each one of these represents a zone a user is subscribed to-->
           <li class="zoneName">
             <a href="/Default.aspx?PageID=14345490">Retail Zone</a>
           </li>
           <li class="zoneName">
             <a href="/Default.aspx?PageID=15904302">Wholesale Zone</a>
           </li> 
         </ul>
       </li>
    </div>

コード:

function getSecureZone() {
    var loggedIn = !!parseInt('{module_isloggedin}');//true or false
    if (!loggedIn)//user is not logged in
        return false;//

    var subscription = "";
    var zonesList = new Array();

    //grab the zones from our hidden div
    var $zones = $('#userSecureZones .zoneName a');

    //add each zone a user is subscribed to the zonesList array
    $zones.each(function () {
        var zoneName = $(this).text().toUpperCase();
        //add each one to the array
        zonesList.push(zoneName);
    });


    //set the subscription variable to the zone the user is subscribed to
    //if a user can only be subscribed to one zone, then this part is simple
    //if a user is subscribed to multiple zones then list the zone
            //you want to take precedence last.
    if (zonesList.indexOf("RETAIL ZONE")!=-1){
        subscription = "RETAIL";
    }
    if (zonesList.indexOf("WHOLESALE ZONE")!=-1){
        subscription = "WHOLESALE";
    }
    return subscription;//return the zone
}

使用中で:

$(function(){
    var plan = getSecureZone();

    if(plan=="RETAIL"){
      //your code here
    }
    if(plan=="WHOLESALE"){
     //your code here
    }
});
于 2013-10-27T23:51:45.493 に答える