----------------------------------------------------------------------
本メールは、EC-CUBEインテグレートパートナー様に送信しております。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

□■  EC-CUBE PARTNER MAIL vol.8
■□■ 2008/3/26
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
『EC-CUBE PARTNER MAIL』では、EC-CUBEでのサイト構築に役立つ情報や最新
の開発状況等をみなさまにお知らせいたします。

---------
INDEX
---------
◆1.EC-CUBEリリース情報のお知らせ
  『オーナーズストアにてデザインテンプレート販売を開始!!』

◆2.開発コミュニティオフ会を4/18(金)大阪梅田周辺で行います

◆3.募集しています!!
  『デザインテンプレート供給会社様』『オーナーズストア販売代理店』

◆4.EC-CUBE開発チーム コラムバトン vol.4 開発チーム 中川
  『モジュール開発の仕方』

----------------------------------------------------------------------
◆1.EC-CUBEリリース情報のお知らせ
----------------------------------------------------------------------
(1)デザインテンプレート販売開始!!
  いよいよ3/31(月)よりEC-CUBEのデザインテンプレート販売を開始いたし
  ます。
  ロックオンからのデザインテンプレートだけでなく、デザインパートナー
  様からのデザインテンプレートも今後販売していく予定です。

----------------------------------------------------------------------
◆2.開発コミュニティオフ会のお知らせ
----------------------------------------------------------------------
はじめての開発コミュニティオフ会を4/18(金)大阪梅田周辺で行います!!
大阪での開催となり遠方となってしまう開発者の方には申し訳ございませんが
ご参加をお待ちしております!
  ・オフ会の内容:2時間ほど、開発チームからのお話や意見交換会を行った
   のち懇親会を行います。
  ・申込締め切り:3月28日(金曜日)中
  ・お申込方法 :下記リンク先のフォームよりお申込ください。
  https://f.msgs.jp/webapp/form/11555_lcr_8/index.do

----------------------------------------------------------------------
◆3.募集しています!!
----------------------------------------------------------------------
『デザインテンプレート供給会社様募集』
『EC-CUBEオーナーズストア(http://store.ec-cube.net/)』で販売される
EC-CUBE専用のデザインスキンをご提供いただける会社様を募集しております。
価格は供給会社様で、自由に設定していただけます。

『オーナーズストア販売代理店募集』
オーナーズストア商品(サポートサービス・自動アップデート・デザインテン
プレート等々)を店舗主様にお勧めいただける代理店様を募集しております。

【上記のお申込方法】詳しい内容や、お申込についてはsupport@ec-cube.net、
          OSS事業部中田(なかた)までお気軽にご連絡ください。

----------------------------------------------------------------------
◆4.EC-CUBE開発チーム コラムバトン vol.4 開発チーム 中川
----------------------------------------------------------------------

最近は、オーナーズストア配布用のモジュールをコミッター様に提供していた
だいたり、インテグレートパートナー様で開発していただく機会も増えてきま
した。

基本的に、モジュールは、オーナーズストアとの連携によって動作するのです
が、開発用にEC-CUBE2単体で動作させる方法がございますので、ご説明させて
いただきます。

■オーナーズストア配布用モジュール開発環境の設定

http://svn.ec-cube.net/open_trac/browser/branches/version-2/html/test/upgr
ade/index.php
をダウンロードし、html/test/upgrade/index.phpへ設置します。

index.phpの、$arrProductsListを編集します。
name, codeの値を書き換えるだけでOKです。
nameにはモジュール名称、
codeにはmodule_codeを設定してください。

例)GMO-PG決済モジュールの場合
---------------------------------------------------------------
$arrProductsList = array(
'name' => 'GMO-PG決済モジュール',
'code' => 'mdl_gmopg',
'main_list_comment' => '',
'main_list_image' => 'gmopg.gif',
'version' => '1.0',
'last_update_date' => '0000/00/00 00:00:00',
'product_id' => '101',
'status' => '使用可能です',
'installed_flg' => '1',
'installed_version' => '1.0',
'download_flg' => '1',
'version_up_flg' => '0'
),
---------------------------------------------------------------

基本情報管理>パラメータ設定
OSTORE_URLを"http://サイトURL/test/"へ変更。

基本情報管理>マスターデータ設定
mtb_ownersstore_ipsに、127.0.0.1を追加

オーナーズストア管理>認証キー設定で、適当なキーを入力し、
購入商品一覧を取得するボタンを押します。


■ファイルの設置
・data/downloads/module/モジュールコード/以下に保存します。
※モジュールコードは「mdl_epsilon」のようにmdl_というprefixがつく

■設定画面
config.php,LC_Page_Mdl_***_Config.phpの設定画面用phpを作成します。
config.phpは設定ボタン押下時に呼ばれます。
LC_Page_Mdl_***_Config.phpで設定画面でのロジックを記述します。

■決済モジュールに必要な処理(設定画面)
・ID、パスなど設定項目がある場合、
dtb_moduleのsub_dataカラムへシリアライズして保存する。

・dtb_paymentへ支払い方法を登録する。

insertもしくはupdateするカラムは下記の通りです
必須カラム
module_code ・・・ モジュールコード
memo03 ・・・ 任意の値、ここに値を格納することでモジュールによる支
払い方法かどうかを判定している
creator_id ・・・ 支払い方法の作成者ID
(管理者IDを格納する。
$objSess = new SC_Session;$objSess->member_id;で取得
できます)
update_date ・・・ 更新日
module_path ・・・ shopping/load_payment_module.php(購入フロー決済情報入
力画面)で実行されるファイルのパス(絶対パスで)

任意
memo01 ・・・ 複数の支払い方法がある場合、このカラムで支払い方法を分ける。

・ファイルのコピー
リンク型など、決済会社から結果パラメータを受け取るスクリプトが必要な
場合は、html/user_data以下に、スクリプトをコピーします。

ファイル名の命名規約はありませんが、他と重複しないようなファイル名に
してください。

例えばゼロ決済であれば下記のようになります。
html/user_data/zero_recv.php

■決済処理の連携
dtb_paymentのmodule_pathに設定したphpファイルから決済情報入力画面の
ページクラスファイルを呼び出します。
LC_Page_Mdl_Epsilon_Credit.php

1)購入セッションの正当性チェック
2)カートの集計
3)決済会社との通信処理
4)決済処理が成功した場合、完了画面へリダイレクトする。
決済会社の通信結果で保存したい値がある場合、
dtb_order, dtb_order_tempのmemo01~memo10カラムに格納する。

※memoの仕様
01 支払い方法の判定(コンビニ、クレジット) PAYMENT_CREDIT_ID(1)または
PAYMENT_CONVENIENCE_ID(2)が入る,
受注編集で使用する。
1であれば「クレジット決済」、2であれば「コンビニ決済」、それ以外は「お
支払い」が<!--{payment_type}-->に表示される

02 決済モジュールでの応答結果や完了メッセージ文言などを格納する.
配列をシリアライズして保存する(※)。受注完了メール送信時、受注編集、購
入完了画面で表示される

03 未使用
04 未使用
05 http://rcv.ec-cube.net/関連。現在は使用していないが、購入完了画面で
表示処理が残っているため、使用しない。
06 未使用
07 未使用
08 未使用
09 未使用
10 未使用

※memo02に格納する配列のデータ構造
---------------------------------------------------------------
array(
'title' => array(
name => 支払い方法(コンビニ支払い、クレジット支払いなど)
value => trueを代入(memo02に値が入っているしてるかどうかの判定
に使用)
任意のキー名 => array(
"name" => 名称(受付番号)
"value" => 値
),
任意のキー名 => array(
"name" => 名称
"value" => 値
),
......
)
---------------------------------------------------------------

■サンプルコード
---------------------------------------------------------------
/** ※正当性チェック、集計処理のサンプル */
$objCartSess = new SC_CartSession();
$objSiteSess = new SC_SiteSession();
$objCampaignSess = new SC_CampaignSession();
$objCustomer = new SC_Customer();
$objDb = new SC_Helper_DB_Ex();
$arrInfo = $objDb->sf_getBasisData();

// ユーザユニークIDの取得と購入状態の正当性をチェック
$uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess);
$this->tpl_uniqid = $uniqid;

// カート集計処理
$objDb->sfTotalCart($this, $objCartSess, $arrInfo);
// 一時受注テーブルの読込
$arrData = $objDb->sfGetOrderTemp($uniqid);
// カート集計を元に最終計算
$arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess,
$arrInfo, $objCustomer, $objCampaignSess);


/** ※リダイレクト処理のサンプル(header()関数は使用しないこと) */
$url = $this->getLocation(URL_SHOP_COMPLETE);
$this->sendRedirect($url);

$url = $this->getLocation(MOBILE_URL_SHOP_COMPLETE);
$this->sendRedirect($url, true);

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
閉じる