EC-CUBE 商品規格管理ページの改造

EC-CUBEの規格管理にて、規格登録数が多いと、登録後の管理がとにかく不便
それらを解消するちょっとカスタマイズの方法をご紹介いたします。

対応可能環境
EC-CUBEのバージョンは 2.13.1 です。
また、jQueryのバージョンを上げないと使えないです。
toggleClassを使用するため。
コードを書き換えればバージョンを上げなくても大丈夫だと思われます。

/data/Smarty/templates/admin/products/product_class.tpl

上記ファイルの180行目付近に以下の2行を追加

<label><input type=”radio” name=”r” onclick=”$(‘.hide_tr’).css(‘display’, ”);” checked> すべて表示</label>
<label><input type=”radio” name=”r” onclick=”$(‘.hide_tr’).css(‘display’, ‘none’);”> 選択のみ表示</label>

213行目付近のコードを次のように書き換える
—————————————————————-{書き換え前}
<!–{section name=cnt loop=$arrForm.total.value}–>
 <!–{assign var=index value=$smarty.section.cnt.index}–>

<tr>
—————————————————————–

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

—————————————————————-{書き換え後}
<!–{section name=cnt loop=$arrForm.total.value}–>
<!–{assign var=index value=$smarty.section.cnt.index}–>

<!–{assign var=key value=”check”}–>
<tr class=”<!–{if $arrForm[$key].value[$index] != 1}–>hide_tr<!–{/if}–>”>

<tr>
—————————————————————–

228行目を以下のコードに置き換える
<input type=”checkbox” name=”<!–{$key}–>[<!–{$index}–>]” value=”1″ <!–{if $arrForm[$key].value[$index] == 1}–>checked=”checked”<!–{/if}–> id=”<!–{$key}–>_<!–{$index}–>” onclick=”$(this).closest(‘tr’).toggleClass(‘hide_tr’);” />

これで選択した規格だけの表示が行えます。

合わせて以下URLの改造を加えてあげれば、より管理がしやすくなると思います。

是非、お試しください。

尚、上記改造はテストをしておりませんので、不足コードがあった場合はお問い合わせよりご連絡ください。

https://gist.github.com/zenith6/10280243

viva