エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説

      2017/03/11

ECCUBEのポイント設定、ポイント付与率

 

ECCUBEのポイント付与率を一括で変更する方法について

 
ECCUBEには、商品を購入するとポイントを付与する仕組みがあらかじめ実装されています。
 
それに関連して、商品個別に設定されているポイント付与率をまとめて一括で変更したい場合の対応方法につての記事です。
 
また、この記事は ECCUBEのバージョン 2.13.1をもとにして記述しています。
 
 

ECCUBEのポイント付与率の流れ

 
ECCUBEのポイントは、まず、「基本情報管理」-「ポイント設定」で ECサイト全体でのポイント設定を行います。
 
20141216_php_01
 
そして、商品の情報を登録する際には、上記の画面で設定した「ポイント付与率(初期値)」をデフォルト設定として「ポイント付与率」に編集した状態で画面が表示されます。
 
20141216_php_02
 
ここで設定した情報は、商品個別の情報として保存されます。
そのため、商品を登録した後に最初の ECサイト全体での「ポイント設定」を変更しても、商品個別の情報は変更されません。
 
そのため、管理画面上の機能を使って商品個別のポイントを修正したい場合は、商品情報を登録する画面を表示し、商品ごとにポイントを編集し直すしかありません。
 
 
ただ、商品点数が多い場合は、それではかなり手間がかかりますので、データベースの値を直接変更する方法を解説します。
 
 


 

ECCUBEの商品個別のポイント付与率を一括変更

 
変更の方法は、SQLを実行しポイント率を一気に変更する、という方法です。
 
 
ポイント付与率は、テーブル「dtb_product_class」の項目「point_rate」に編集されています。
 
そのため、変更するための SQL文は以下になります。
 

 
例えば、3ポイントに変更する場合は以下のような感じです。

 
また、現在 2ポイントの商品だけ 3ポイントに変えたい場合は以下のような感じです。

 
このほか、特定のカテゴリの商品だけとか、値段がいくら以上の商品だけとか、SQLの条件の書き方でいろいろな条件にマッチする商品だけのポイント付与率を変更することもできますが、それに関しては SQLの書き方を調べて見てください。
 
 
ちなみに、「point_rate(ポイント付与率)」の項目は、テーブル「dtb_product」にあったようですので、そのように書かれているサイトもありましたが、現在のテーブルは「dtb_product_class」ですのでお間違えの無いように。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

路線・駅検索のために緯度経度からPHPで簡易的に距離を計算する処理解説
路線・駅検索のために緯度経度からPHPで2点間の距離を計算する処理解説

路線・駅検索の仕組みの構築は大変。それを簡易に実装するために緯度経度を元に距離計算をする仕組みを考案。まずは2点間の距離を計算する仕組みを解説し、距離計算にまつわる関連技術も紹介。

QRコード(二次元バーコード)作成サービスを公開
QRコード(二次元バーコード)作成サービスを公開

QRコード(二次元バーコード)を生成するサービス。QRコードにする文字列を入力するだけで QRコードが簡単に作れる。オプションとして、画像サイズ、余白サイズ、エラー訂正レベルがある。

PHPで特定の日間の日付を for、strtotimeで表示する

ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。

ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入

標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。

Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace

ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。

サーバ移転、PHPバージョンアップでPHPのソースコードが表示される・ショートタグのPHPが動かない

PHPでショートタグを使うのは危険。サーバ移転やバージョンアップで動かなくなる!ソースが丸見え、設定情報流出のリスクが!php.iniのshort_open_tagの設定を再確認。

PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法

PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!

AdminerはphpMyAdmin代替のデータベース管理ツール

AdminerはphpMyAdminとほぼ同機能のデータベース管理ツール。PHP 1ファイルのため設置が非常に簡単で軽快に動作し、phpMyAdminの置き換えで使うのも問題なし。

フォルダを指定してファイルのパーミッションを変更するプログラム

フォームからフォルダ、パーミッションを指定しパーミッションを変更するサンプルプログラムの解説です。

include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由

include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。