• このエントリーをはてなブックマークに追加
  • このエントリーをはてなブックマークに追加

ECサイト運営で使える便利なjQuery

はじめに

こんにちは、サポート部の井上です。今回はASPを使用したECサイト制作で使える、便利なjQueryをいくつか紹介します。

ASPでのECサイトは便利な反面、よく「ASP側で生成されている要素があるから細かい調整がしにくい」といった声をいただきますが、jQueryを使用することで比較的ソースコードの調整もユーザー側で可能になります。

目次

1.文面を変更する
2.URLを取得して表示を切り替える
3.要素の数に応じてHTMLを書き換える
4.クラスが付いていない箇所にクラスを付与する
5.クラスが付いている箇所にテキストを割りこませる

1.文面を変更する

ASPでECサイトを制作していると、しばしば文字がデフォルトで入力されており、管理画面から変更できない事があります。そういった文章を取得して、指定の変更する事ができる設定です。

$(function() {
 //"「sysMypage」というクラスの中にある文章を対象とします
    $(".sysMypage").each(function(){
        var replcaceTxt = "変更後文章をここに";
        var txt = $(this).html();
        $(this).html(txt.replace(/変更前文章/g,replcaceTxt));
    });
});

上のケースでは、「変更前文章」と書かれている部分が全て「変更後文章をここに」という文章に変更されます。

2.URLを取得してCSSを切り替える

URLの文字列を取得して、該当箇所にクラスを付与する事ができます。
たとえば、「該当のURLが入っている商品のみカートボタンを表示させない」等の設定が可能になります。今回はカートボタンに”.sysCartButton”というクラスが付いている場合で説明させていただきます。

$(window).bind("load", function(){
 //"URLに「aaaaa」という文字列があれば
    if(document.URL.match('aaaaa')) {
 //".sysCartButtonにnewClassというクラスを付与する
      $(".sysCartButton").addClass("newClass");
    }
});

このnewClassに対して、以下の様なCSSを入力する事で「URLに”aaaaa”という文字列がある時のみ”カートボタン(.sysCartButton)”を表示させない」という設定が可能です。

CSSはこちら。

.newClass{
display:none;
}

3.要素の数に応じてHTMLを書き換える

ページ内にある要素の数に合わせてHTMLを書き換える事ができる設定です。

例えばこれを応用する事で「カート内の商品が4件以上もしくは2件以下だったら文章を表示させる」等の設定が可能です。

$(function(){
 //"#sysBasket .sysItemListAreaの要素毎に処理する
 $("#sysBasket .sysItemListArea").each(function () {
 //".sysItemListAreaの要素内のliの数をカウント
 var num = $(this).find('ul.nav li').length;
 //"もしも#sysBasket .sysItemListArea内のul.nav liが4件以上もしくは2件以下だったら
 if(num >=4 || num <=2){
 //"HTMLを書き換えます
 $(this).find('ul.nav li').html('<b>HTMLの書き換え</b>');
 }
 });
});

4.クラスが付いていない箇所にクラスを付与する

ASPでECサイトを制作していると、しばしばHTMLがデフォルトで入力されており、管理画面からクラスが付与できない事があります。そのような際に、任意の箇所にクラスを付与する事ができる設定です。

$(function(){
//"セレクタで指定したdivタグにクラスが付いていない場合、「newClass」というクラスを付与します。
      $(".sysFormField div").addClass("newClass");
});

5.クラスが付いている箇所にテキストを割りこませる

4との合わせ技で、クラスが元々無かった部分に文言を付与する事ができます。

$(function(){
//"付与したtextareaタグにテキストを割り込ませます。
   $(".textinput").text("このテキストが備考欄に入力されます")
});

おわりに

jqueryやJavaScriptはHTML初心者には少しとっつきにくい印象がありますが、非常に便利です。フロント側で出来ることの幅も大きく広がりますので、ぜひチャレンジしてみてください。

井上