ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説
2017/03/11
ECCUBEのポイント設定、ポイント付与率
ECCUBEのポイント付与率を一括で変更する方法について
ECCUBEには、商品を購入するとポイントを付与する仕組みがあらかじめ実装されています。
それに関連して、商品個別に設定されているポイント付与率をまとめて一括で変更したい場合の対応方法につての記事です。
また、この記事は ECCUBEのバージョン 2.13.1をもとにして記述しています。
ECCUBEのポイント付与率の流れ
ECCUBEのポイントは、まず、「基本情報管理」-「ポイント設定」で ECサイト全体でのポイント設定を行います。
そして、商品の情報を登録する際には、上記の画面で設定した「ポイント付与率(初期値)」をデフォルト設定として「ポイント付与率」に編集した状態で画面が表示されます。
ここで設定した情報は、商品個別の情報として保存されます。
そのため、商品を登録した後に最初の ECサイト全体での「ポイント設定」を変更しても、商品個別の情報は変更されません。
そのため、管理画面上の機能を使って商品個別のポイントを修正したい場合は、商品情報を登録する画面を表示し、商品ごとにポイントを編集し直すしかありません。
ただ、商品点数が多い場合は、それではかなり手間がかかりますので、データベースの値を直接変更する方法を解説します。
ECCUBEの商品個別のポイント付与率を一括変更
変更の方法は、SQLを実行しポイント率を一気に変更する、という方法です。
ポイント付与率は、テーブル「dtb_product_class」の項目「point_rate」に編集されています。
そのため、変更するための SQL文は以下になります。
1 |
UPDATE dtb_product_class SET point_rate = ポイント付与率; |
例えば、3ポイントに変更する場合は以下のような感じです。
1 |
UPDATE dtb_product_class SET point_rate = 3; |
また、現在 2ポイントの商品だけ 3ポイントに変えたい場合は以下のような感じです。
1 |
UPDATE dtb_product_class SET point_rate = 3 WHERE point_rate = 2; |
このほか、特定のカテゴリの商品だけとか、値段がいくら以上の商品だけとか、SQLの条件の書き方でいろいろな条件にマッチする商品だけのポイント付与率を変更することもできますが、それに関しては SQLの書き方を調べて見てください。
ちなみに、「point_rate(ポイント付与率)」の項目は、テーブル「dtb_product」にあったようですので、そのように書かれているサイトもありましたが、現在のテーブルは「dtb_product_class」ですのでお間違えの無いように。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
-
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。また、マニュアルにはない注意点なども解説。
-
ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入
標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。
-
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い
文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。
-
PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う
PHPには日時をオブジェクトとして生成する関数「DateTimeImmutable」「DateTime」が用意されている。これを利用して1ヶ月後、月初日、月末日、5日後などを指定して日付を取得できる。
-
AdminerはphpMyAdmin代替のデータベース管理ツール
AdminerはphpMyAdminとほぼ同機能のデータベース管理ツール。PHP 1ファイルのため設置が非常に簡単で軽快に動作し、phpMyAdminの置き換えで使うのも問題なし。
-
QRコード(二次元バーコード)作成サービスを公開
QRコード(二次元バーコード)を生成するサービス。QRコードにする文字列を入力するだけで QRコードが簡単に作れる。オプションとして、画像サイズ、余白サイズ、エラー訂正レベルがある。
-
フォルダを指定してファイルのパーミッションを変更するプログラム
フォームからフォルダ、パーミッションを指定しパーミッションを変更するサンプルプログラムの解説です。
-
ECCUBEの新規追加ページがInternal Server Error・Not Foundに
ECCUBEで新規追加したページがInternal Server Errorに!原因はファイルのパーミッションの場合が多くその対処方法とプログラムの修正ポイントを解説。Not Foundも解説。
-
ECCUBE2.13.3で商品規格の在庫数が無制限から変更できないバグがある
2.13.3固有のバグである商品規格の在庫数の入力エリアがアクティブにならない不具合を解消する解説です。product_class.tplの2行を修正するだけの簡単対応です。