• 基本設置マニュアル
  • MT設置マニュアル
  • WP設置マニュアル
  • 在庫数取得モジュールの利用
  • ちょっと便利な使い方

設置・動作確認は簡単3ステップでOK!

詳細な設定の前に、まずは動作確認! SKELETON CARTなら簡単3ステップで始められます。
動作確認いただいた後、ゆっくりとカスタマイズをお楽しみください。

ダウンロードから動作確認までは簡単3ステップ

  1. 「init.php」を編集し、メール送信先を変更!(一番上のフォルダにあります)
  2. 「ファイル一式」をサーバーへアップロード!(面倒な方はマニュアルも一緒にどうぞ!^^;)
  3. 「templates_c」フォルダのパーミッションを「777」に変更!(system/comn/templates_c にあります)

以上でSKELETON CARTの基本動作をご確認いただけます。
サンプル商品の設置アドレス(例:http://www.example.com/sample_item.html)へアクセスして動作をお試しください。
正常動作をご確認いただけましたら、実際のご利用用途に合わせて細かくカスタマイズも出来ますのでお試しください。

詳細な設置マニュアルは以下をご覧願います。

設置マニュアル

SKELETON CARTの基本的な設置方法をご案内します。
各種オプション項目などを利用している場合は、後述するHTML記載方法にならって設置してください。

本マニュアルは以下の構成になっています。

  1. ダウンロードと構成ファイルの確認
  2. 初期設定ファイルの編集
  3. 商品掲載ページの編集
  4. 商品データファイルの編集
  5. HTMLテンプレートの編集
  6. メールテンプレートの修正
  7. ファイルのアップロード
  8. パーミッションの変更
  9. 動作テスト

1. ダウンロードした「skeleton-cart.zip」を解凍し、フォルダ・ファイルを確認してください。

フォルダ名説明編集作業
app各種設定フォルダ不要
commoncss:共通CSSファイル(サンプル)任意
images:共通画像ファイル(サンプル)
js/script.js:フォームボタン制御用JSファイル
data商品データファイル格納フォルダ必須
include共有ファイル(サンプル)任意
system各種システムファイル格納フォルダ不要
ファイル名説明編集作業
_tpl_cart.htmlカートの中身表示用HTMLテンプレート任意
_tpl_error.htmlエラー表示HTMLテンプレート
_tpl_regi.htmlお客様情報・お届先情報入力フォームHTMLテンプレート
_tpl_regi_comp.html購入完了画面HTMLテンプレート
_tpl_regi_conf.html入力内容確認用HTMLテンプレート
_tpl_mail_order.txt受注メール用テンプレート
_tpl_mail_user.txt購入者控メール用テンプレート必須
cart.phpカートプログラム本体不要
init.php初期設定ファイル必須
sample_item.htmlサンプル商品情報HTML-
htaccess.txtテンプレートファイル(_tpl_****.html)へのブラウザからのアクセスを拒否するものです。必要に応じて「.htaccess」にリネームしてご利用ください。-

2. テキストエディタなどで初期設定ファイル「init.php」を開き、以下を設定してください。

変更箇所は「赤字」の部分です。

// ■■初期設定■■

// 送信されるメール(受注・購入者宛)の件名に注文IDを付加するか否かを設定してください
// 0:付加しない、1:付加する
// ※付加しない場合、以降で設定する件名への受注番号記載の設定は無効となります
$Cfg['Email_subj_order_id_sw'] = '1';

// 受注メールの件名設定
// メールの件名に「受注番号」を記載する場合、該当箇所に %s を入れてください
// 件名に受注番号が不要の際は、該当箇所を削除して問題ありません
$Cfg['Email_Admin_sbj']   = '【%s】注文を受け付けました';

// 受注メール(サイト運営者側が受信するメール)に記載される内容を設定してください
// 複数のメールアドレスを記載する際は「,」で続けて記載してください
// その場合、マルチバイトは利用できませんのでご留意ください 例)admin-1@example.com,admin-2@example.com
$Cfg['Email_Admin_to']	= 'ジャクスタポジション <admin@example.com>';	// 受信アドレス
$Cfg['Email_Admin_from']	= 'ジャクスタポジション <admin@example.com>';	// 送信者アドレス
$Cfg['Email_Admin_reply']	= 'ジャクスタポジション <admin@example.com>';	// 返信先アドレス

// 受注メール受信時、その返信先を「購入者メールアドレス」にするか否かを設定してください
// 0:上記で設定した返信先アドレス、1:購入者アドレス
$Cfg['Email_Admin_reply_usermail_sw'] ='1';

// 購入者宛の自動返信メール(購入控え等)を送信する場合は「0」、しない場合は「1」を記載してください
$Cfg['Email_usermail_use'] = '0';

// 購入者宛の自動返信メールに記載される内容を設定してください
// メールの件名に「受注番号」を記載する場合、受注メールと同様に該当箇所に %s を入れてください
$Cfg['Email_User_sbj']	= 'ご注文ありがとうございます';

// 購入者宛の自動返信メールのアドレス設定
$Cfg['Email_User_from']	= 'ジャクスタポジション <admin@example.com>';	// 送信者アドレス
$Cfg['Email_User_reply']	= 'ジャクスタポジション <admin@example.com>';	// 返信先アドレス

// 商品情報(商品IDと商品名・価格)を記載したCSVの格納ディレクトリとファイル名を記載してください
// 「cart.php」から見た相対パスで記載してください
// ※セキュリティ上の観点から変更することをお勧めします
$Cfg['cart_item_csv_fn']	= 'data/item.dat';

// 商品情報(item.dat)で異なるグループIDを設定している商品を同時に購入できるか否か設定してください
// グループ毎に発送方法が異なる場合(通常発送とクール便発送)などにご利用ください
// 0:購入可、1:購入不可
$Cfg['same_cart_by_groupid']   = '1';

// 消費税率を%で設定してください(内税の場合は'0')
$Cfg['tax_per'] = '8';

// 送料無料となる価格について、
// 内税の場合は「税込価格」を、外税の場合は「税別価格(=商品代金)」を設定してください
// 全国一律送料無料の場合は、「'0'」としてください(その場合、「都道府県別送料設定」は無効となります)
$Cfg['free_delivery_price'] = '10000';

// 都道府県別の送料を設定してください
// 順序は固定されているので、変更しないでください
$Cfg['pref_souryou_tbl'] = array('0',
 '1080', // 1 :北海道
 '1080', // 2 :青森県
  |
 '1080', // 46:鹿児島県
 '1080'  // 47:沖縄県
);

// 決済方法ごとの購入完了画面処理番号,決済方法ラベル,手数料,種別を設定してください
// 1.銀行振込~5.Paypalまでは初期設定で必要になっているので順番など変更しないでください
// ・使用しない支払方法がある場合は、HTML上で該当箇所を削除してください
// ・追加したい支払方法がある場合は、以下にならって「6」以降をご利用ください(設定数に上限はありません)
// ─ NOTICE ──────────────────────────────────────────
//  SKELETON CARTでは、支払方法で「代金引換」を選択した場合、「別の住所へ配送する」を使用すると
//  内容確認時にエラーが表示されます(代金引換で注文者と別の住所へ送ることを防ぐため)
//  その判定は「種別」で判断していますが、代引であっても他の住所へ送る事を許可する場合、
//  他の決済方法と同様に「0」を設定してください
// ───────────────────────────────────────────────
$Cfg['payment_way_tbl'] = array('');
$Cfg['payment_way_tbl'][1] = '銀行振込,0,0';            // 完了画面処理:1
$Cfg['payment_way_tbl'][2] = '郵便振替,0,0';            // 完了画面処理:2
$Cfg['payment_way_tbl'][3] = '代金引換,324,1';          // 完了画面処理:3
$Cfg['payment_way_tbl'][4] = 'クレジットカード,432,0';  // 完了画面処理:4
$Cfg['payment_way_tbl'][5] = 'Paypal,540,0';            // 完了画面処理:5

// ■■在庫に関する機能の設定■■
// 在庫数設定機能を利用するか否かを設定してください。
// 0:利用しない、1:利用する
// ※使用する場合、item.datの「第5引数」が在庫数としてカウントされます。
// ・注文を受け付けた時、注文数分をその時点での在庫数から減算します。(在庫数以上の注文は受け付けません)
// ・在庫数が「0」になった時点でその商品をカートへ追加出来なくなります。(追加する際にエラーが表示されます)
// ・第5引数が「空欄」の場合、「0」とみなされます。
$Cfg['item_amount_use_sw'] = '0';

// ■■重量制限に関する機能の設定■■
// 一度に注文できる商品の総重量を制限するか否かを設定してください
// 制限を行う場合は重量をグラム単位で記載してください
// (例 30kgを超えた場合、エラーを表示:$Cfg['item_weight_max'] = '30001';)
// 本機能を利用しない場合は、空欄にしてください
$Cfg['item_weight_max'] = '';

// ■■商品情報(オプション項目)の設定■■
// 商品情報で使用するオプション項目のラベルを設定してください(最大で30個までご利用いただけます)
// 主に「カートの中身」で使用します(HTML上での使用方法はサンプルHTMLを参考にしてください)
// 使用しない場合は空欄にしてください
$Cfg['cart_item_opt1_label'] = 'カラー'; // オプション項目:1(以降30まで)
$Cfg['cart_item_opt2_label'] = 'サイズ';
|
$Cfg['cart_item_opt30_label'] = '生地';

// ■■注文者情報入力欄の設定■■
// 注文者情報入力欄で使用する項目の「必須・任意」と「最大文字数」を設定できます
// 必須項目は「1」、任意項目は「0」としてください
// 入力項目に文字数制限を行う場合は、続けて「,50」等と設定してください(空白の場合は制限なし)
// ・必須項目で文字数制限が50バイト(全角25文字) → '1,50'
// ・任意項目で文字数制限が50バイト(全角25文字) → '0,50'
// ・必須項目で文字数制限が不要の場合       → '1'
// 空欄の場合、全て「任意項目」「文字数制限なし」として扱われます
$Cfg['InpChk']['slip_user_name']	= '1'; // 名前
$Cfg['InpChk']['slip_user_name_sei']	= '0'; // 名前(姓)
$Cfg['InpChk']['slip_user_name_mei']	= '0'; // 名前(名)
 |
$Cfg['InpChk']['slip_memo']		= '0'; // その他連絡事項

// 注文者情報入力欄で使用するオプション項目のラベルを設定してください(最大で10個までご利用いただけます)
// 主に「内容確認(エラー画面)」で使用します(HTML上での使用方法はサンプルHTMLを参考にしてください)
// 使用しない場合は空欄にしてください
$Cfg['slip_user_opt1_label']   = '';
$Cfg['slip_user_opt2_label']   = '';

// 注文者情報オプション項目の「必須・任意」と「最大文字数」を設定できます
// 設定方法は「注文者情報入力欄」と同様です
$Cfg['InpChk']['slip_user_opt1']	= '0'; // オプション項目:1(以降10まで)
$Cfg['InpChk']['slip_user_opt2']	= '0'; 

// ■■配送先情報入力欄の設定■■
// 「別の住所へ配送する」のチェックボタンを必須項目にする場合、以下を「1」に変更してください
$Cfg['InpChk']['slip_delivery_flg']	= '0';

// 配送先情報入力欄で使用する項目の「必須・任意」と「最大文字数」を設定できます
// 設定方法は「注文者情報入力欄」と同様です
// ※配送先情報の必須項目は「別の住所へ配送する」にチェックが入っている場合のみ有効になります
$Cfg['InpChk']['slip_delivery_name']	= '1'; // 名前
$Cfg['InpChk']['slip_delivery_post']	= '0'; // 郵便番号

// 配送先情報入力欄で使用するオプション項目のラベルを設定してください(最大で10個までご利用いただけます)
// 主に「内容確認(エラー画面)」で使用します(HTML上での使用方法はサンプルHTMLを参考にしてください)
// 使用しない場合は空欄にしてください
$Cfg['slip_delivery_opt1_label'] = ''; // オプション項目:1(以降10まで)
$Cfg['slip_delivery_opt2_label'] = '';

// 配送先情報オプション項目の「必須・任意」と「最大文字数」を設定できます
// 設定方法は「注文者情報入力欄」と同様です
$Cfg['InpChk']['slip_delivery_opt1']	= '0'; // オプション項目:1(以降10まで)
$Cfg['InpChk']['slip_delivery_opt2']	= '0';

// ■■購入完了画面の設定■■
// クロネコ@ペイメント等の利用時、完了画面HTMLテンプレートだけを
// 別の文字コードに変更する必要がある場合に利用してください
// 完了画面では、フォームで入力された情報がここで設定した文字コードに変換され、
// データ送信時の文字化けを防止出来ます
// ※ここで設定した文字コードで完了画面HTMLを作成してください
// ※変更する必要がない場合も完了画面の文字コードに合わせて記載してください
$Cfg['comp_page_charaset']	= 'UTF-8';

// フォームで入力される電話番号について、完了画面でそのハイフンを消すか残すかを設定出来ます
// カード決済サービス等でハイフンを削除してデータ送信する必要がある場合に利用してください
// (「000-0000-0000」等を「00000000000」に変更して出力します)
// ハイフンを消す場合は「1」を記載してください
$Cfg['comp_page_use_tel_hyphen']	= '0';

// ■■システム・テンプレートの設定■■
// HTMLテンプレート(_tpl_cart.html等)の格納場所を変更する場合は、そのディレクトリ名を記載してください
// 「cart.php」から見た相対パスで記載してください
$Cfg['dir_template'] = '';

// システム上のエラーが発生した場合、以下のエラー画面用HTMLを表示します
// ※システムテンプレートのディレクトリを変更している場合でも以下はファイル名のみ記載してください
$Cfg['template_error']            = '_tpl_error.html';

// HTMLテンプレート上で、他のHTMLファイル等をインクルードする際、そのファイルへのパスを記載してください
// 「cart.php」から見た相対パスで記載してください
// 以下のルールに従っていくつでも登録する事が出来ます
// $Cfg['IncTPL']['テンプレートの名称'] = '設置場所へのパス+ファイル名';
// HTMLテンプレート上では「{include file="$テンプレートの名称"}」と記載してインクルードを実行します
$Cfg['IncTPL']['inc_tpl_header']	= 'include/_tpl_header.html';
$Cfg['IncTPL']['inc_tpl_footer']	= 'include/_tpl_footer.html';

3. 商品掲載ページの編集

以下の記載例のようにフォーム部品を商品情報HTMLへ記載してください。

// ********** フォームボタン ********** 
// formタグ内のaction先は、ご利用の環境に合わせて修正してください。
<form method="post" name="newdat" enctype="multipart/form-data" action="cart.php?qp0=idx&qp1=ad">

<!--数量選択-->
<select name="cart_item_amount">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<!--オプション(init.phpで「cart_item_opt1_label」を「カラー」と設定し、セレクトボックスを利用する場合)-->
<select name="cart_item_opt1">
<option value="赤" selected="selected">赤</option>
<option value="青">青</option>
<option value="黄色">黄色</option>
</select>

<!--商品情報データ-->
<input type="hidden" name="cart_item_item_id" value="商品ID" />

<!--カートへ入れる-->
<input type="submit" value="カートへ" />

</form>


// ********** カートを見るボタン ********** 
// inputタグ内のlocation.href先は、ご利用の環境に合わせて修正してください。
<input type="button" value="カートを見る" onClick="location.href='cart.php'" />

4. 商品データファイルの編集

テキストエディタなどで商品情報CSVファイル「data/item.dat」を開き、例にならって商品情報を記載してください。
※データファイルの設置場所・ファイル名を変更している場合は、その名称に変更してご利用ください。
※なお、商品IDと商品グループID、在庫数、重量は必ず半角数字を使用してください。

「商品ID|商品名|価格|商品グループID|在庫数|重量(g)」になるように1行ずつ記載してください。
半角の「|(パイプライン・vertical bar)」で区切ります。

※重量制限する場合
1|T-Shirt01|2500|1|100|500
2|T-Shirt02|2600|2|200|500

※重量制限しない場合(第6項目部分は空白のままでも正常動作します。)
1|T-Shirt01|2500|1|100
2|T-Shirt02|2600|2|200

5. HTMLテンプレートの編集

HTML部分の編集は、以下のコードを使用して自由に作成することが出来ます。
カード決済利用時など必要に応じて自由に編集してください。

[1] カートの状態(_tpl_cart.html)
カートの中を表示する際、
<!-- {foreach name="loop1" from=$reclst item="datnum" } --> から
<!-- {/foreach} --> まではカートに存在する商品の数だけ繰り返し表示される部分です。

商品名		:{$datnum.cart_item_name}
購入商品額合計	:{$datnum.cart_item_price_sum|number_format}
消費税額		:{$slip_tax|number_format}
税込お支払額小計	:{$slip_subtotal|number_format}
送料無料価格	:{$slip_free_delivery_price|number_format}

オプション設定1の名称:{$cart_item_opt1_label}
オプション設定1のvalue値:{$datnum.cart_item_opt1}
(オプション設定は「1~10」で同様に使用できます。)


[2] お客様・お届先情報入力フォーム(_tpl_regi.html)
入力エラー内容	:{$error_message|nl2br}
(必須項目が未入力だった場合等にエラー内容を表示)

オプション項目のフォーム記載方法
・注文者情報
 <input type="text" name="slip_user_opt1" value="{$slip_user_opt1}" />

・配送先情報
 <input type="text" name="slip_delivery_opt1" value="{$slip_delivery_opt1}" />


[3] 内容確認画面(_tpl_regi_conf.html)
商品注文個数	:{$datnum.cart_item_amount}
送料		:{$slip_postage|number_format}
支払方法別手数料	:{$slip_fee|number_format}
お支払額合計	:{$slip_payment|number_format}
支払方法		:{$slip_payment_way_Str}

オプション項目の表示方法
・注文者情報	:{$slip_user_opt1}
・配送先情報	:{$slip_delivery_opt1}


[4] 購入完了画面(_tpl_regi_comp.html)
受注番号		:{$slip_id}

Tips. 選択した支払方法別に画面表示内容を切り替える場合は以下を参考にしてください。

 {if $slip_payment_way == '1' || $slip_payment_way == '2'}
  支払方法「1」または「2」を選択した時にこの部分を表示
 {elseif $slip_payment_way == '3'}
  支払方法「3」を選択した時にこの部分を表示
 {elseif $slip_payment_way != '3'}
  支払方法「3」を選択しなかった時にこの部分を表示
 {/if}

【解説】上記の購入完了画面でお客様が「お支払い方法1」を選択していた場合、HTML内には以下が表示されます。
 ・支払方法「1」または「2」を選択した時にこの部分を表示
 ・支払方法「3」を選択しなかった時にこの部分を表示

Tips. 購入完了画面で、フォームボタンなどを使用してカード決済サービス等へ接続する場合
カード決済に必要となる情報(お客様名や購入合計額など)をformタグ内に設置してください。

(例)<input type="hidden" name="order_no" value="{$slip_id}" />
   <input type="hidden" name="settle_price" value="{$slip_payment}" />


[5] エラー画面(_tpl_error.html)
テンプレート内の以下の箇所を内容に応じて編集できます。

{if $error_id == NULL}
  システムエラー(カート動作中のエラー全般)
{elseif $error_id == 'different_group_id'}
  異なる商品グループIDの同時購入によるエラー
{elseif $error_id == 'illegal_item_dat'}
  商品または商品データファイルが不正である場合のエラー
{elseif $error_id == 'soldout'}
  在庫が不足している際のエラー
{/if}


[6] 外部ファイルのインクルード(全てのHTMLテンプレートで使用可能)
init.phpで「$Cfg['IncTPL']['inc_tpl_header'] = 'include/_tpl_header.html';」を
登録した場合、HTMLテンプレート内では、以下のように記載する事で外部ファイルをインクルード出来ます。

 {include file="$inc_tpl_header"}

init.php内で登録した数だけ自由に使用することが出来ます。


[7] その他
HTMLテンプレート(メールテンプレート)上で「表示される金額にカンマを入れる」場合、
以下のように「|number_format」を追加すると、自動的にカンマが入ります。
「|number_format」を入れない場合、カンマは入りません。

 例:お支払合計が10,000円の場合
 {$slip_payment}			» 10000
 {$slip_payment|number_format}	» 10,000

また、入力フォームなどでtextareaを使用し、その内容をHTMLテンプレート上で表示する際、
以下のように「|nl2br」と追加すると、入力した内容の改行コード(\n)が<br />に変換表示されます。
「|nl2br」を入れない場合は改行コード(\n)のみになります。

 {$変数名|nl2br}

(メールテンプレート内で使用する場合は「|nl2br」は不要となります。)

6. メールテンプレートの修正

受注データ及び購入者控えに使用されるメールテンプレートも、上記HTMLテンプレートと同様に変更・修正出来ます。
メールを通販ソフトへの取り込む際など、必要に応じてレイアウトを変更してください。

7. ファイルのアップロード

sample_item.html以外の全てのフォルダ・ファイルをサーバーへアップロードしてください。

8. パーミッションの変更

フォルダ「templates_c」のパーミッションを「777」に変更してください。
cart.phpを設置したディレクトリの配下、「system/comn/templates_c」にあります。

在庫数設定機能を利用する場合、item.datの格納フォルダ「data」のパーミッションを「777」に変更してください。
cart.phpを設置したディレクトリにあります。(変更している場合はそちらに合わせてください)

アップロードが終了したら、ブラウザからアクセスして表示内容・動作を確認してください。
URL例:http://www.example.com/cart.php

9. 動作テスト

商品掲載ページのformボタンから実際に商品をカートへ入れてみてください。
商品をカート内に入れることが出来れば設置完了です。

もし、設置が上手く行かない場合はお問い合せいただくか、設置代行サービスをご利用ください。