ショッピングカートプラグイン

このプラグインについて

小~中規模な通販を行う場合を想定したショッピングカートです。

商品の登録管理ができ、訪問者向けに表示でき、カートに入れて注文するとメールが送信されます。注文の際、商品サイズに応じた配送方法を選択してもらうことができます。

注文メールを受け取ってからは、メールでやりとりすることを想定しています。注文管理プラグインを導入すると、ブラウザ上で注文状況を管理できるようになります。

ショッピングカートプラグイン

広告

ダウンロード

以下のリンクからプラグインをダウンロードできます。(GitHubに遷移します。)

GitHubの緑ボタン「Code」内にある「Download ZIP」からすべてのプラグインをダウンロードできるので、解凍後に作成されるフォルダの中から catalog フォルダを入手してください。

導入方法

準備

あらかじめ管理者ページにログインしておきます。

ファイルのアップロード

catalog/ 内の configs/files/libs/mails/templates/ を、freo設置ディレクトリ内にアスキーモードで上書きアップロードします。

パーミッションの設定

ブラウザソフトで freo/index.php/setup にアクセスすると、必要なパーミッションが自動設定されます。

ただし、設置時に「ご利用のサーバーは、PHPから直接パーミッションを設定することができない環境のようです。」と表示された環境の場合は自動設定されないので、FTPソフトで以下のファイルのパーミッションを設定してください。

対象 パーミッション
configs/plugins/catalog.ini 606 に設定
files/plugins/catalog_files/ 707 に設定
files/temporaries/plugins/catalog_files/ 707 に設定

データベースの設定

ブラウザソフトで freo/index.php/catalog/setup にアクセスします。セットアップ画面が表示されるのでセットアップを実行します。

完了

管理者ページにログイン後、管理メニューから「システム」→「設定管理」→「プラグインの設定」→「ショッピングカート」を選択すると、各種設定を行えます。

また、管理メニューから「プラグイン」→「ショッピングカート」を選択すると、商品情報などを登録できます。

登録した商品情報は、freo/index.php/catalog にアクセスすると一覧表示されるので、任意の場所からこのページにリンクしておきます。

実際に公開するまでには、商品・支払い方法・配送方法など色々な情報を登録する必要があります。それぞれ機能解説で紹介していきます。

機能解説

目次

設定の編集

管理者ページにログインし、まずは設定を編集します。

管理メニューから「システム」→「設定管理」→「プラグインの設定」→「ショッピングカート」を選択すると、各種設定を行えます。

  • 「注文の一時休止」を「休止する」にすると、一時的にすべての商品が購入できなくなります。商品を大量に追加編集する場合や設定を大きく変更する場合など、メンテナンスの際に利用できます。多忙のためにしばらく販売を休止したい場合にも利用できます。
  • 「注文IDのプレフィックス」で指定した文字が、注文番号の前に付加されます。注文番号は連番なので、例えば注文IDのプレフィックスが「ORDER-」なら、注文IDは「ORDER-24」のような値になります。この値は基本的に変更する必要はありませんが、ショッピングカートを複数サイトに設置している場合などに、注文IDが重複しないように調整できます。
  • 「注文メール」の設定は必ず設定してください。
  • 「対象制限機能」を「利用する」にすると、商品ごとに対象を指定できます。対象を指定した商品は、一覧に表示しないようにできたり、注文時に年齢認証が必要になったりします。「対象の初期値」が空欄の場合、対象が設定された商品はすべて認証するまで表示されなくなります。ですが例えば r15 と書いておくと、「15歳以上」対象の商品は最初から表示されるようになります。これは targets.csv に書かれた「対象ID」を設定します。このファイルの内容については後述します。
  • 「オプション」で、商品登録時の入力項目を最大10項目まで追加することができます。初期状態では「ページ数」「印刷方法」「作者」を登録できるようにしていますが、必要に応じて追加編集削除してください。オプションの名前を空欄にすると、入力欄が非表示になります。オプションの種類を「セレクトボックス」か「ラジオボタン」にした場合、初期値に改行区切りで文字を書くと登録時に選択できる項目になります。
  • 「ファイル」で、商品登録時のファイルアップロード項目を最大10項目まで追加することができます。初期状態では3つ登録できるようにしていますが、必要に応じて追加編集削除してください。ファイルの名前を空欄にすると、入力欄が非表示になります。

カテゴリーの編集

必要に応じて、商品の分類を登録します。カテゴリーは商品登録時に選択できます。

支払い方法の編集

利用できる支払い方法を登録します。初期状態では「銀行振込」「代金引換」を登録していますが、これはあくまでも一例です。不要な項目は削除してください。そのまま使用する場合でも、登録内容は自分の環境に合わせて編集してください。

銀行振込のように、手数料が固定でない場合は空欄にしておけば手数料が非表示になります。

配送方法の編集

利用できる配送方法を登録します。配送方法ごとに、利用できるサイズや厚さや重さなどを管理できます。

初期状態では「普通郵便」「メール便」「レターパック」「ゆうパック」「おまかせ」「ダウンロード」を登録していますが、これはあくまでも一例です。不要な項目は削除してください。そのまま使用する場合でも、登録内容は自分の環境に合わせて編集してください。(参考:送料比較表

配送方法ごとに、利用できる支払い方法や地域別送料を登録することができます。初期状態では「ゆうパック」に地域別送料が設定されています。発送元は東京を想定して登録してあるので、必要に応じて設定してください。(参考:ゆうパック 都道府県別の基本運賃表

送料と地域別送料の両方を設定した場合、「送料+地域別送料」の金額が地域別送料になります。

梱包材の厚さと重さを設定すると、商品の厚さと重さの合計に加算されます。

「利用できる短辺の範囲」「利用できる長辺の範囲」「利用できる厚さの範囲」「利用できる3辺合計の範囲」「利用できる重さの範囲」は、1以上の値を入力してください。(ダウンロード販売用以外。)

「配送方法とかよく判らないので任せたい」という人がいることを想定して、「おまかせ」という配送方法も登録しています。(後ほど、メールでやり取りして送料などを知らせる想定です。)が、不要でしたら管理画面から削除できます。

配送方法が固定で良ければ、利用できる長さ「1~9999」利用できる重さ「1~99999」などで配送方法を登録して、それ以外の配送方法を削除しておきます。

サイズ・対象・都道府県の編集

files/plugins/catalog_defines/ 内のファイルを編集すれば、サイズ・対象・都道府県を変更できます。これらは、管理画面などで選択できる値です。

sizes.csv がサイズの定義、targets.csv が対象の定義、prefectures.csv が都道府県の定義です。データはCSV形式です。

サイズの編集

sizes.csv にサイズの定義が書かれています。一行が一つのデータで、形式は以下のとおりです。

サイズID,名前,短辺の長さ(mm),長辺の長さ(mm)

「サイズID」は任意のIDを半角英数字で書きます。この値は変更しないようにしてください。「名前」はサイズの名前を書きます。名前は日本語で付けることもできます。「短辺の長さ(mm)」と「長辺の長さ(mm)」は、それぞれの長さをmmで書きます。A4の場合サイズは210mm×297mmなので、その値を書きます。短辺と長辺を逆に書いたりしないように注意してください。

具体的には、以下の様なデータとなります。

a4,A4,210,297

対象の編集

targets.csv に対象の定義が書かれています。一行が一つのデータで、形式は以下のとおりです。

対象ID,名前,年齢

「対象ID」は任意のIDを半角英数字で書きます。この値は変更しないようにしてください。「名前」は対象の名前を書きます。名前は日本語で付けることもできます。「年齢」は表示を許可する年齢を半角数字で書きます。

具体的には、以下の様なデータとなります。

r15,15歳以上,15

都道府県の編集

prefectures.csv に都道府県の定義が書かれています。一行が一つのデータで、形式は以下のとおりです。

都道府県ID,名前

「都道府県ID」は任意のIDを半角英数字で書きます。この値は変更しないようにしてください。「名前」は対象の名前を書きます。名前は日本語で付けることもできます。

具体的には、以下の様なデータとなります。

hokkaido,北海道

商品の登録

商品登録時にサイズや重さを登録しておいて、それによって配送方法の候補を表示することができます。

いくつかの入力項目について説明します。

商品ID
システム上で商品を区別するための値です。この値は変更できません。
対象
年齢認証をするまで、一部の商品を表示しないようにできます。
発行日
未来の日付を入力すると、予約商品として扱われます。
在庫数
在庫数を入力すると、商品が購入されるたびに在庫数が減少します。在庫数が0になると購入できなくなります。空欄にすると在庫は無制限になります。
単位
「冊」「枚」など、商品を数える単位を設定できます。表示に使われるのみなので、常に空欄でも問題ありません。
商品画像(大)
各商品ページに表示されます。
商品画像(小)
商品一覧やカートの内容を表示する際に使用されるので、あまり大きくない画像にすることをお勧めします。
サイズ
送料の計算に使用されます。梱包材による増加分は別途設定できます。「直接入力」を選択すると、サイズを個別に入力できます。「なし(データのみ)」を選択すると、サイズ&重さとも0の商品になります。注文時にサイズ&重さの合計が0なら、配送方法で「ダウンロード」が選択できます。(別途メール添付などで商品を送る想定です。)この場合、注文時の住所入力欄も非表示になります。
並列梱包(商品を2つ並べて梱包)の許可
例えばA4サイズの本を1冊とA5サイズの本を2冊注文する場合、A5はA4の半分のサイズなので、A5サイズの本は2冊並べて梱包することができます。これにより、梱包時の全体の厚さを抑えることができます。並列梱包を許可する設定にしておくと、梱包サイズと比べて半分以下の商品が複数あった場合、2つを並べて梱包するように計算できます。(並列は2つのみ対応しています。)

基本的な入力項目の他に、任意の項目を10個まで作成できます。(書籍用にページ数を登録したり、CD用に再生時間を登録したり)

大小の商品画像の他に、任意のファイルを10個までアップロードできます。(商品のサンプル画像を掲載したり)

郵便番号から住所を検索

ajaxzip3により、郵便番号を入力した時点で住所を検索&自動入力します。郵便番号と住所のデータメンテンナンスは不要です。

商品ページから商品のサンプルページヘリンクする

オプションでサンプルページのURLを登録する項目を作成すれば可能です。

管理メニューから「システム」→「設定管理」→「プラグインの設定」→「ショッピングカート」を選択し、オプションでサンプルページヘリンクのURLを入力するための項目を作成します。ここでは、「オプション04の名前」に「サンプルページ」と登録するとします。

そうすると、商品登録時に「サンプルページ」という入力欄が追加されるので、ここにサンプルページのURLを入力します。

そのままだと商品ページにURLが表示されるだけですが、例えば templates/mobiles/plugins/catalog/default.htmltemplates/mobiles/plugins/catalog/view.html にある

{$plugin_catalog.option04|smarty:nodefaults|nl2br}

という部分を

<a href="{$plugin_catalog.option04}">サンプルページ</a>

に変更すると、「サンプルページ」という文字からサンプルページに移動できるようになります。また、

<a href="{$plugin_catalog.option04}" class="colorbox" title="サンプルページ">サンプルページ</a>

のように class="colorbox" と任意のtitleを追加すると、リンク先がページ内ウインドウで表示されます。

「カートに入れる」ボタンを任意のページに設置する

以下のHTMLを書けば、「カートに入れる」ボタンを任意のページに設置できます。

<form action="~freoの設置URL~/catalog/cart_putin" method="post">
  <fieldset>
    <legend>商品購入フォーム</legend>
    <input type="hidden" name="plugin_catalog[id]" value="~商品ID~" />
    <input type="hidden" name="plugin_catalog[count]" value="1" />
    <p><input type="submit" value="カートに入れる" /></p>
  </fieldset>
</form>

~freoの設置URL~~商品ID~ の部分は、それぞれ修正してください。例えばfreoの設置URLが http://www.example.com/freo/index.php で表示したい商品のIDが SAMPLE-001 の場合、以下のようにします。

<form action="http://www.example.com/freo/index.php/catalog/cart_putin" method="post">
  <fieldset>
    <legend>商品購入フォーム</legend>
    <input type="hidden" name="plugin_catalog[id]" value="SAMPLE-001" />
    <input type="hidden" name="plugin_catalog[count]" value="1" />
    <p><input type="submit" value="カートに入れる" /></p>
  </fieldset>
</form>

商品情報と「カートに入れる」ボタンを任意のページに設置する

商品ページのURLの末尾に ?type=embed を追加してアクセスすると、最低限の情報のみ表示されるページになります。これをJavaScriptなどで読み込むことにより、商品情報と「カートに入れる」ボタンを任意のページに設置することができます。

例えば http://localhost/~freo/test/freo/index.php/catalog/view/SAMPLE-001 という商品ページがあった場合、http://localhost/~freo/test/freo/index.php/catalog/view/SAMPLE-001?type=embed にアクセスすると最低限の情報のみが表示されます。

これを利用して、例えば以下のようなコードで任意のページに商品情報を表示できます。JavaScriptやjQueryの文法については、別途解説書などを参考にしてください。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript">

  $(document).ready(function() {
    $('div#entry').load('http://localhost/~freo/test/freo/index.php/catalog/view/SAMPLE-001?type=embed');
  });

  </script>
  <title>テスト</title>
</head>

<body>
  <h1>テスト</h1>
  <p>↓ここに商品情報が読み込まれます↓</p>
  <div id="entry">JavaScriptをONにすると、商品情報が読み込まれます。</div>
  <p>↑ここに商品情報が読み込まれます↑</p>
</body>

</html>

携帯からのアクセス

携帯からアクセスすると、携帯用の表示になります。(購入者向け画面のみで、管理画面は非対応。)

削除方法

このプラグインは、以下の手順で削除できます。

データベースの削除

データベースから freo_plugin_catalogsfreo_plugin_catalog_categoriesfreo_plugin_catalog_paymentsfreo_plugin_catalog_deliveriesfreo_plugin_catalog_delivery_setsfreo_plugin_catalog_delivery_prefecturesfreo_plugin_catalog_records を削除します。(削除しなくてもfreoの動作には問題ありません。)

ファイルの削除

以下のファイルを削除します。

  • configs/plugins/catalog.ini
  • files/plugins/catalog_defines/ (ディレクトリごと削除)
  • files/plugins/catalog_files/ (ディレクトリごと削除)
  • files/temporaries/plugins/catalog_files/ (ディレクトリごと削除)
  • libs/freo/plugins/config.catalog.php
  • libs/freo/plugins/page.catalog.php
  • mails/plugins/catalog/ (ディレクトリごと削除)
  • templates/mobiles/plugins/catalog/ (ディレクトリごと削除)
  • templates/plugins/catalog/ (ディレクトリごと削除)

更新履歴

  • 最新版との差分ファイルを一覧表示できます。
  • 使用しているショッピングカートプラグインのバージョンを入力してください。
  • 更新内容の詳細は、以下の更新履歴を確認してください。
差分調査
使用しているバージョン

2013/09/27 Ver 1.0.2
  • オプション項目のラジオボタン表示部分のHTMLが不正だったので修正。

バージョンアップは、以下のファイルを最新版付属のものに差し替えてください。

2013/04/15 Ver 1.0.1
  • 商品注文画面で、カートの内容が正しく表示されないことがある不具合を修正。

バージョンアップは、以下のファイルを最新版付属のものに差し替えてください。

2013/04/09 Ver 1.0.0

正式版を公開しました。ベータ版からバージョンアップする場合、libs/ 内のファイルを上書きアップロードしてください。アルファ版からバージョンアップする場合、すべてのファイルを上書きアップロードしてください。