Web Cart Professional 機能解説

機能解説

初期設定関連

商品登録関連

画像表示関連

商品注文関連

投稿関連

コメント関連

その他

基本設定について

環境設定の基本設定について紹介します。

ショッピングページタイトル
ショッピングページのタイトルを指定します。この項目は必ず設定してください。
ショッピングページからの戻り先
ショッピングページからの戻り先を指定します。相対パスも可能ですが、HTML書き出し機能を使用する場合は必ず http:// から設定してください。
サイトの概要
ショッピングページの概要を指定します。ページ上部に表示されたり、RSS配信時に利用されたりします。
サイトのURL
cart.cgi を格納しているディレクトリのURLを指定します。この項目は必ず設定してください。
サイトのSSL用URL
cart.cgi を格納しているディレクトリのURLを指定します。SSLを使用する場合に設定してください。(SSLを使用しない場合、空欄のままでOKです。)
Sendmailのパス
商品注文時などにメール送信を行うため、Sendmailのパスを指定します。この項目は必ず設定してください。
メールの通知先
商品注文時などにメールを送信するアドレスを指定します。この項目は必ず設定してください。

商品注文の設定について

選択可能な支払方法
選択可能な支払方法と手数料をコンマ区切りで指定します。代金引換,350 の場合、「代金引換には350円の手数料が必要」という意味になります。
選択可能な配達方法
選択可能な配達方法を指定します。冊子小包メール便 など、配達方法の名前を指定します。また、この項目を指定した場合「選択可能な都道府県」でそれぞれの送料も指定する必要があります。
配達日時の指定
「ON」にすると、注文時に配送日時を指定できるようになります。
選択可能な配達時間
「配達日時の指定」を「ON」にしている場合、ここで指定した配送時間が選択できるようになります。
選択可能な都道府県
選択可能な都道府県と送料をコンマ区切りで指定します。北海道,1260 の場合、「北海道には1260円の送料が必要」という意味になります。また、「選択可能な配達方法」を複数指定している場合、それぞれの送料を「/」で区切ってすべて指定します。
送料が無料になる商品金額
商品金額がここで指定した以上になると、送料が無料になります。「0」にすると送料が必須になります。

例えば「選択可能な配達方法」に以下の設定を行ったとします。

冊子小包
メール便
EXPACK500

この場合、「選択可能な都道府県」を以下のように設定すると

北海道,1260/180/500
青森県,1050/160/500
岩手県,1050/160/500
宮城県,1050/160/500
秋田県,1050/160/500
~ 省略 ~
熊本県,1050/160/500
大分県,1050/160/500
宮崎県,1050/160/500
鹿児島県,1050/160/500
沖縄県,1260/240/500

北海道への送料は「冊子小包 → 1260円、メール便 → 180円、EXPACK500 → 500円」。青森県への送料は「冊子小包 → 1050円、メール便 → 160円、EXPACK500 → 500円」…。という意味になります。「選択可能な配達方法」が上から順に対応するよう、左から順にスラッシュで区切って指定します。

「どの配達方法を選んでも金額は同じ」という場合でも、すべての送料をそれぞれ指定します。

送信メールの設定について

注文完了時や顧客情報登録時などに送信される、メールの内容について紹介します。

送信されるメールの件名と本文は、自由に変更する事ができます。商品ご注文時に送信するメールの件名商品ご注文時に送信するメールの内容をサイトに合わせて変更してください。件名と本文の設定欄は他にもありますが、これらは顧客管理機能利用時に設定する項目です。

また、各メールの送信者名各メールの送信元アドレス各メールに挿入する署名 もそれぞれ、サイトに合わせて設定してください。各メールに挿入する署名 は、すべてのメールの末尾に挿入される文言です。お店の連絡先や簡単な案内などを記載しておくといいでしょう。

商品情報の登録内容について

商品登録時の入力項目について紹介します。

商品名
商品の名前を入力します。商品名は、商品一覧や商品詳細ページなどに表示されます。
商品ID
商品の識別IDを入力します。(通常は品番などを入力します。)商品IDは、プログラムが商品を識別するために使用されます。IDには、半角英数字とハイフン・アンダーバーを使用することができます。
登録日時
登録日時を選択します。登録商品は、この日時をもとにソートされます。
分類
商品の分類を選択します。管理者ページの「環境設定 → 登録画面の表示設定 → 分類選択項目の表示」を「表示する」にした場合のみ表示されます。
アイコン
アイコンを選択します。管理者ページの「環境設定 → 登録画面の表示設定 → アイコン選択項目の表示」を「表示する」にした場合のみ表示されます。
紹介文
商品の紹介文を入力します。紹介文は、商品詳細ページなどに表示されます。
ミニ画像
ミニ画像を選択します。ミニ画像は、商品一覧ページなどに表示されます。管理者ページの「環境設定 → 登録画面の表示設定 → ミニ画像選択項目の表示」を「表示する」にした場合のみ表示されます。なお、初期状態のスキンでは、100px×100pxの画像を登録するとちょうど良いレイアウトになるように調整しています。
価格
価格を入力します。価格は税込みの金額を、コンマなどを省いた整数値で入力します。
在庫数
在庫数を入力します。管理者ページの「環境設定 → 登録画面の表示設定 → 在庫数入力項目の表示」を「表示する」にした場合のみ表示されます。詳しくは在庫の管理についてを参照してください。
関連商品
関連商品を入力します。管理者ページの「環境設定 → 登録画面の表示設定 → 関連商品入力項目の表示」を「表示する」にした場合のみ表示されます。詳しくは関連商品の登録についてを参照してください。
Trackback URL
トラックバックを送信する場合、送信先のURLを入力します。管理者ページの「環境設定 → 登録画面の表示設定 → トラックバックURL入力項目の表示」を「表示する」にした場合のみ表示されます。
登録者ID
登録者IDを入力します。管理者ページの「環境設定 → 登録画面の表示設定 → ユーザー管理の設定」を「複数ユーザーの管理」にした場合で、投稿者に「システム管理者」の権限が与えられている場合のみ表示されます。
ファイル1~
アップロードしたいファイルを選択します。管理者ページの「環境設定 → 登録画面の表示設定 → アップロードできるファイルの最大数」を「1」以上にした場合のみ表示されます。

また、オプション設定によって登録項目を追加する事もできます。

登録項目の追加について

「管理者用 → オプション設定」で、商品登録時の入力項目を追加する事ができます。

オプションID
ここで指定したIDでログファイルに記録されます。IDは途中で変更しない事を推奨します。
オプション名
登録画面に表示される項目名を指定します。
入力形式
登録時に表示される入力フォームの形式を指定します。形式の意味は以下のようになります。
一行入力 ... 一行だけのテキストが登録できます。
複数行入力 ... 複数行のテキストが登録できます。
単一選択 ... セレクトボックスで値を選択できます。
複数選択 ... チェックボックスで値を複数選択できます。
商品オプション ... 商品オプションの追加についてを参照してください。
初期値
登録時に予め設定しておく内容を指定します。
入力形式で「一行入力」を指定した場合、入力ボックスの初期値を一行で指定します。
入力形式で「複数行入力」を指定した場合、入力ボックスの初期値を一行もしくは複数行で指定します。
入力形式で「単一選択」を指定した場合、セレクトボックスに表示させたい内容を改行区切りで指定します。
入力形式で「複数選択」を指定した場合、チェックボックスで選択できるようにしたい内容を改行区切りで指定します。

なお、各商品ページにオプション項目を表示させたい場合、商品表示ページのスキンも修正します。

オプションIDが sample の項目を表示させたい場合、商品表示部分に ${OPTION_SAMPLE} のように、「${OPTION_ + オプションIDを大文字で記述 + }」を記述します。
また、${OPTION_SAMPLE}<!--OPTION_SAMPLE_START--><!--OPTION_SAMPLE_END--> で囲うと、未入力時にはコメントアウト用のHTMLになります。

具体的な登録例としては以下のようになります。

  1. 商品作成時に使用したツールを登録できるようにしたいとする。
  2. オプションID → tool、オプション名 → ツール、入力形式 → 複数選択 と設定する。
  3. 初期値には、選択できるようにしたいツールを改行区切りで設定する。※1
  4. 商品表示部分の任意の場所に ${OPTION_TOOL} と記述すると、登録した項目を表示する事が可能。※2

※1 具体的には以下のような内容

Photoshop
Illustrator
Painter
しぃペインター

※2 具体的には以下のような内容

<!--OPTION_TOOL_START-->使用ツール:${OPTION_TOOL}<!--OPTION_TOOL_END-->

商品オプションの追加について

商品をカートに入れる際、色やサイズなどを選択して入れる事ができます。

「管理者用 → オプション設定」で、商品登録時の入力項目を追加する際、「入力形式」を「商品オプション」にすることにより、この機能が利用できます。

具体的な登録例としては以下のようになります。

  1. 商品の色を購入時に選択できるようにしたいとする。
  2. オプションID → color、オプション名 → 、入力形式 → 商品オプション と設定する。
  3. 初期値には、選択できるようにしたい色を改行区切りで設定する。※1(商品ごとに色が異なる場合、初期値は空欄にしておきます。)
  4. 商品登録時、色の入力項目が追加されているので、選択できるようにしたい色を改行区切りで設定する。
  5. 商品をカートに入れるフォーム部分にオプション項目表示用コードを記述すると、登録した項目を表示する事が可能。※2

※1 具体的には、以下のような内容を記述します。(以下のように、カートに入れたときに何の項目か判るように記述した方が、注文メール確認時に間違いが無くていいでしょう。)

色:白
色:黒
色:青

※2 具体的には、カートに入れるボタンがある直前の行に、以下のような内容を記述します。${OPTION_COLOR} の部分にはオプションタグが挿入されるので、それに合わせてセレクトボックスを作成します。セレクトボックスの nameoption と設定しておきます。

<!--OPTION_COLOR_START-->
<p>色:
  <select name="option">
    <option value="">選択してください</option>
    ${OPTION_COLOR}
  </select>
</p>
<!--OPTION_COLOR_END-->

商品オプションを2つ以上設定したい場合も同じ手順で行います。その際、セレクトボックスの name はすべて option と設定しておきます。具体的には、以下のようになります。

<!--OPTION_COLOR_START-->
<p>色:
  <select name="option">
    <option value="">選択してください</option>
    ${OPTION_COLOR}
  </select>
</p>
<!--OPTION_COLOR_END-->
<!--OPTION_SIZE_START-->
<p>サイズ:
  <select name="option">
    <option value="">選択してください</option>
    ${OPTION_SIZE}
  </select>
</p>
<!--OPTION_SIZE_END-->

なお、商品オプションごとに在庫数を設定する事はできません。それぞれに在庫数を設定したい場合、商品を別々に登録した上で関連商品登録機能でそれぞれの商品ページへ移動できるようにしておくといいでしょう。

関連商品の登録について

関連商品を登録すると、各商品ページにセレクトボックスを表示し、その商品に関連するページに移動させる事ができます。

具体的には、以下のようなフォームが利用できます。表示したい商品を選択して「表示する」ボタンを押すと、その商品に移動できます。(以下のフォームはサンプルなので動作しません。)

関連商品表示フォーム

  1. 機能を使用するには、「管理者用 → 環境設定 → 関連商品入力項目の表示」を「表示する」に設定します。
  2. 商品登録画面に「関連商品」の項目が表示されるので、ここに関連商品の登録番号と表示用テキストを、コンマ区切りで登録します。※1
  3. 商品ページに「関連商品選択」のセレクトボックスが表示され、ここから直接移動ができるようになります。

※1 具体的には以下のような内容

1,No.1の商品
2,No.2の商品
3,No.3の商品

在庫の管理について

各商品に在庫数を設定することができます。在庫数は商品が売れると自動的に減少していき、在庫数が0になると購入ができなくなります。

  1. 機能を使用するには、「管理者用 → 環境設定 → 登録画面の表示設定 → 在庫数入力項目の表示」を「表示する」に設定します。
  2. 商品登録画面に「在庫数」の項目が表示されるので、ここに商品の在庫数を半角数字で入力します。
  3. 在庫数が0になると購入できなくなるので、商品編集画面で在庫数を調整してください。

また、「管理者用 → 環境設定 → メール通知の設定 → 在庫数が少なくなるとメールで通知」を「通知する」に設定すると、商品注文完了時に、その商品の在庫が少なければメールで通知がされます。

ファイルアップロード機能について

商品を投稿する際にファイルをアップロードすると各商品の上部にファイルが表示されますが、本文の途中に表示させることもできます。

アップロードファイルを任意の位置に表示するには、商品を投稿する際まず普通に文章を入力し、普通にアップロードファイルを指定します。そして文章中のファイルを表示させたい場所に $FILE1 と記述します。そうすると、投稿の際『ファイル1』で選択したファイルがその位置に表示されるようになります。
同様にして、$FILE2$FILE3 で『ファイル2』『ファイル3』も任意の場所に表示させることができます。

アップロードできるファイルの数は「環境設定 → 登録画面の表示設定 → アップロードできるファイルの最大数」から変更できますが、$FILE4$FILE5 という風に、すべて同様に扱う事ができます。

文章の途中にアップロードファイルを表示させる場合、具体的には以下のように記述します。

サンプルフォーム

そうすると、以下のように表示されます。

スクリーンショット

また、$FILE1_l のように、_l (アンダーバーと小文字のエル)を付加すると画像に対して左揃えの指定がされます。同様に、$FILE1_r のように、_r (アンダーバーと小文字のアール)を付加すると画像に対して右揃えの指定がされます。同様に、$FILE1_c のように、_c (アンダーバーと小文字のシー)を付加すると画像に対して中央揃えの指定がされます。ちなみに _l_r_c は、それぞれ left(左) と right(右) と center(中央) の意味です。

なお、回り込みは <br clear="all" /> もしくは <br style="clear:both;" /> というHTMLで解除することができます。

また、$FILE1_path のように _path を付加すると、ファイルのパスをhttp://から取得する事ができます。別途テキストリンクを張りたい場合などに利用すると便利です。
また、$FILE1_full のように _full を付加すると、画像ファイルが原寸で表示されます。特定の画像のみ、縮小したくない場合に便利です。

また、$FILE1(写真)$FILE1_c(写真) のように記述すると、画像の代替テキストが 写真 になります。画像表示指定の直後に半角カッコで囲まれた文字を記述すると、画像の代替テキストとして認識されます。

ファイルをページ別に表示する機能について

ファイルを複数アップロードした際、商品ページでファイルを1つずつ見せる事ができます。漫画を登録したり、ファイルサイズの大きい画像を登録する場合、この機能を使用するとスムーズに閲覧させる事ができます。

ページ別に表示するには、商品登録画面で複数ファイルをアップロードし、「ファイルをページ別に表示する」にチェックを入れて登録します。

repng2jpegの導入について

サーバーにImageMagickがインストールされていない場合、repng2jpegでサムネイル画像を作成する事ができます。(使用方法が解らなくても、菅処さんへ質問を送ったりしないようにしてください。

  1. まず、repng2jpegを別途入手する必要があります。repng2jpegは配布もとの菅処さんからダウンロードしてください。
  2. トップページの CGI配布小物たち リンクからダウンロードページに移動することができます。repng2jpeg 1.0.4resize.pl をダウンロードして解凍します。
  3. resize.zip を解凍して作成される resize.pl.re のファイル名を resize.pl に変更し、cartpro/ にアップロードします。
  4. 次に repng2jpeg_1.0.4.zip を解凍します。複数のフォルダが作成されますが、それぞれの中にサムネイル作成用プログラムが格納されています。環境によって使用するプログラムが異なるので、適切なものを選択して cartpro/ にアップロードします。(repng2jpeg もしくは repng2jpeg.exe がプログラムファイル。選択方法は後述。)
  5. 以降は Web Cart Pro 側の設定。「管理者用→環境設定→投稿商品の表示設定」で「サムネイル専用画像を自動作成」を「repng2jpegで作成」に設定します。
  6. サーバーエラーにならなければ成功です。ImageMagickの代わりにrepng2jpegでサムネイル画像が自動作成されます。

適切なrepng2jpegの選択方法

PerlMagick NG

NetPBM + libjpeg-progs NG
cjpeg -> Not Found
djpeg -> Not Found
pngtopnm -> Not Found
giftopnm -> Not Found
pnmscale -> Not Found

repng2jpeg(i386-solaris) static:OK
libc -> /lib/libc.so.1
libdl -> /lib/libdl.so.1

./repng2jpeg Not Found

Perl :v5.6.1 built for i86pc-solaris
HTTPd:Apache
./repng2jpeg Found
./repng2jpeg Permisson:OK
./repng2jpeg Exec:OK

カートに入れるボタンの設置について

商品をカートに入れるボタンは商品詳細ページに表示されますが、このボタンを任意のページに設定する方法です。別途商品のプロモーションページを作成した際に直接カートに入れるボタンを設置したり、ブログで紹介した際に直接カートに入れるボタンを設置したり…という事が可能になります。

設置するには、任意のページに以下のHTMLを記述します。

<form action="http://~cart.cgiへのパス~/cart.cgi" method="post">
  <fieldset>
    <legend>商品購入フォーム</legend>
    <input type="hidden" name="mode" value="cart" />
    <input type="hidden" name="work" value="putin" />
    <input type="hidden" name="no" value="商品No" />
    <input type="hidden" name="code" value="商品ID" />
    <input type="hidden" name="amount" value="1" />
    <p><input type="submit" value="カートに入れる" /></p>
  </fieldset>
</form>

http://~cart.cgiへのパス~/cart.cgi の部分は cart.cgi へのパスを、商品No の部分にはカートに入れさせたい商品のNoを、商品ID の部分にはカートに入れさせたい商品のIDをそれぞれ指定します。商品Noと商品IDは、商品情報編集画面などで確認する事ができます。

配達方法の複数指定について

選択可能な配達方法を複数登録し、購入者側に配達方法を指定させることができます。

機能を使用するには、「管理者用 → 環境設定 → 商品注文の設定 → 選択可能な配達方法」に配達方法を改行区切りで設定します。具体的には以下のような設定です。

冊子小包
メール便
EXPACK500

配達方法を複数指定した場合、少し下にある『選択可能な都道府県』の項目で、それぞれの送料を設定します。例えば、以下のように設定します。

北海道,1260/180/500
青森県,1050/160/500
岩手県,1050/160/500
宮城県,1050/160/500
秋田県,1050/160/500
~ 省略 ~
熊本県,1050/160/500
大分県,1050/160/500
宮崎県,1050/160/500
鹿児島県,1050/160/500
沖縄県,1260/240/500

上の例の『北海道』の場合、冊子小包の送料が1260円、メール便の送料が180円、EXPACK500の送料が500円となります。『選択可能な配達方法』の内容が上から順に対応するように、左からスラッシュで区切って指定します。それぞれの配達方法の金額が同じでも、送料の設定は必須です。

売り上げランキング機能について

過去にどの商品が何個売れたかを記録することができます。この機能を使用すれば、人気商品を把握しやすくなります。

  1. 機能を使用するには、「管理者用 → 環境設定 → 売り上げランキングの設定 → 売り上げランキング機能」を「ON」に設定します。
  2. 売り上げランキングを表示するには、cart.cgi?mode=rank のように ?mode=rank を付加して cart.cgi を呼び出します。

注文時のログイン機能について

初期設定では、商品購入時に入力したお客様情報をクッキーに保存しますが、ログイン機能を使用すれば、サーバー側に保存することができます。次回購入時は、メールアドレスとパスワードを入力することで、前回の入力内容を呼び出します。

ログイン機能を使用すると、管理者ページからお客様情報を閲覧したり、ポイント機能が利用できたり…と色々なメリットがあります。ただし、個人情報をサーバーに保存するので、取り扱いには十分注意してください。

  1. 機能を使用するには、「管理者用 → 環境設定 → 顧客管理の設定 → 顧客管理機能」を「ON」に設定します。
  2. cart.cgi?mode=regist のように ?mode=regist を付加して cart.cgi を呼び出すと、お客様情報新規登録画面が表示されます。
  3. cart.cgi?mode=login のように ?mode=login を付加して cart.cgi を呼び出すと、お客様情報閲覧画面が表示されます。登録内容の編集やポイント数の閲覧が可能です。
  4. cart.cgi?mode=password のように ?mode=password を付加して cart.cgi を呼び出すと、パスワード再送信画面が表示されます。ログインパスワードを忘れたとき、パスワードの再発行が可能です。

データ流出の危険性について

例えば、以下の構成でファイルがアップロードされているとします。

cartpro / cart.cgi
  |       cart-tb.cgi
  |       index.html
  |
  +-- archives / index.html
  |
  +-- data / index.html
  |          customer.log
  |          field.log
  |          icon.log
  |          init.cgi
  |          ~以下略~
  |
  +-- lib / ~略~
  |
  +-- skin / ~略~

この場合、ブラウザから直接 cartpro/data/customer.log を呼び出されると、ファイルの内容が表示されてしまいます。(customer.log は顧客情報が保存されているファイルです。Web Cart Pro では、個人情報が保存されるのはこのファイルです。)

このように、個人情報をサーバー側に保存する場合、何も対策をしなければ個人情報の漏洩につながる可能性がありますので、注意が必要です。

以下に、セキュリティを高めるための方法を紹介しておきます。

suEXECモードでセットアップする

Web Cart Pro を普通にセットアップすると、customer.log のパーミッションは 606 に設定されます。ですがsuEXECモードでセットアップすると、600 に設定されます。こうしておくと、ファイルが直接呼び出されると Forbidden のエラーが表示されるようになります。

suEXECモードでセットアップするには、cartpro/lib/webliberty/App/Init.pm の85行目あたりにある suexec_mode => 0,suexec_mode => 1, に変更してからアップロード&セットアップします。これにより、suEXECに適したセキュリティの高いパーミッション設定が利用できます。

ただし、suEXECに対応していないサーバーではこの機能が利用できません。(大抵のサーバーでは利用できるようです。)その場合、以下に紹介する他の手段でセキュリティを高めてください。

ログファイルに Deny from all を設定する

サーバーが Apache の場合、.htaccess を使用することで、ファイルへのアクセスを制限することができます。.htaccess が使用できる場合、ファイル内に

<Files ~ "\.log">
  Deny from all
</Files>

と記述することで、拡張子が log のファイルに直接アクセスができなくなります。.htaccess の詳しい解説は、以下のサイトを参考にしてください。

ファイル名・格納ディレクトリを変更する

ファイル名や格納ディレクトリが初期設定のままだと、個人情報が保存されたファイルの場所が容易に想像できてしまいます。これらを変更することで、簡単に目的のファイルにアクセスされなくなります。

ファイル名・格納ディレクトリを変更した場合、cartpro/lib/webliberty/App/Init.pm の100行目あたりにある

data_customer => './data/customer.log',

この部分で、ファイル名と格納ディレクトリを設定しなおしてください。

直接アクセスできない位置にログファイルを置く

サーバーにファイルをアップロードする場合、public_htmlwww など、公開専用のディレクトリにアップロードするように指定されていると思います。

public_html 内にファイルをアップロードするように指定された場合、一例ですが以下のようにディレクトリが構成されます。

home /
  |
  +-- public_html / index.html
              |     about.html
              |     profile.html
              |     link.html
              |
              +-- cartpro / cart.cgi
                    |       cart-tb.cgi
                    |       index.html
                    |
                    +-- archives / index.html
                    |
                    +-- data / index.html
                    |          customer.log
                    |          field.log
                    |          icon.log
                    |          init.cgi
                    |          ~以下略~
                    |
                    +-- lib / ~略~
                    |
                    +-- skin / ~略~

この場合、もし public_html の外側にファイルをアップロードしても、ブラウザからアクセスすることはできません。これを利用して、直接アクセスされたくないファイルを public_html の外側に置く方法があります。一例ですが、以下のようなディレクトリ構成です。

home /
  |
  +-- public_html / index.html
  |           |     about.html
  |           |     profile.html
  |           |     link.html
  |           |
  |           +-- cartpro / cart.cgi
  |                 |       cart-tb.cgi
  |                 |       index.html
  |                 |
  |                 +-- archives / index.html
  |                 |
  |                 +-- data / index.html
  |                 |          field.log
  |                 |          icon.log
  |                 |          init.cgi
  |                 |          ~以下略~
  |                 |
  |                 +-- lib / ~略~
  |                 |
  |                 +-- skin / ~略~
  |
  +-- logs / customer.log

この例では、public_html の外側に logs ディレクトリを作成し、その中に顧客情報保存ファイルをアップロードしています。

logs は公開用のディレクトリではないので、ブラウザから直接アクセスすることはできませんが、CGIプログラムがこの中のデータを読み出すことは可能です。(絶対パスでは参照できないので、相対パスかルートパスでログファイルを指定します。)

前に挙げた方法ではうっかり .htaccess ファイルを削除してしまったり、パーミッションの設定をし忘れたり…という事が考えられます。根本的な対策として、このようなディレクトリ構成にする事を強く推奨します。

管理者パスワードは複雑なものを設定する

たとえログファイルにアクセスされる事がなくなったとしても、管理者パスワードが容易に推測できるものでは意味がありません。管理者ページから堂々と情報が閲覧されてしまいます。

管理者パスワードは、なるべく長く複雑なパスワードを設定してください。

複数の方法を組み合わせる

より強力なのは、ここに挙げた方法を複数もしくは全部行う方法です。対策が一つだとうっかりミスで情報が漏洩する可能性がありますが、複数使用することによってより強固になります。

それでもやはり心配な場合は、サーバーに顧客情報を保存せず、クッキー機能を使用してください。(クッキーならば絶対に安全、という訳でもありませんが。)

ポイントシステムについて

ポイントシステムを利用すれば、商品購入ごとにポイントが貯まっていき、後でポイントを使用して買い物をすることができます。

ポイントシステムの仕様は以下のとおりです。

なお、ポイントシステムを使用するには、注文時のログイン機能を『ON』にしておく必要があります。

  1. 機能を使用するには、「管理者用 → 環境設定 → 顧客管理の設定 → ポイントシステム」を「ON」に設定します。
  2. 初期設定では、ポイントは100円お買い上げごとに5ポイント付加され、1ポイント=1円として買い物をすることができます。
  3. ポイントが付く金額は、「管理者用 → 環境設定 → 顧客管理の設定 → ポイントを付加する価格」で変更する事ができます。
  4. 付加するポイント数は、「管理者用 → 環境設定 → 顧客管理の設定 → 付加するポイント数」で変更する事ができます。

本文装飾機能について

本文に特定の記号を書くことにより、手軽にマークアップを行うことができます。はてなダイアリーwikiなどで採用されている記法と同じようなものです。(基本的には、はてなと同じような記述方法ですが、全く同じという訳では無いので注意してください。)

本文の具体的な記述方法は、こちらのページをご覧ください。

なお、記法によってはCSSの調整が必要になる可能性があります。表示が乱れたらCSSを修正してください。
標準スキンの場合、cartpro/skin/common.css の最後に以下の記述を追加しておくといいでしょう。

div#catalog h5 {
  margin: 10px;
}
div#catalog h6 {
  margin: 10px;
}
pre {
  font-family: 'MS ゴシック', monospace;
}
div#catalog .text dl {
  margin: 0px 10px 10px 10px;
}
div#catalog .text dl dd {
  margin-left: 30px;
}
div#catalog .text table {
  margin: 0px 10px 10px 10px;
}

上のCSSは一例なので、好みに応じて適当に修正してください。

本文の省略表示機能について

商品紹介文に長文を投稿することが多い場合、表示される本文の量を調節して『続きを読む』リンクからすべての文章を表示させることができるようになります。

このように表示させたい場合、商品紹介文に ----- と記述します。そうすると、それ以降は省略表示されます。

サンプルフォーム

このような文章を投稿した場合、商品紹介文に長文を投稿することが多い場合、表示される本文の量を調節して『続きを読む』リンクからすべての文章を表示させることができるようになります。 までが表示され、それ以降は非表示なります。非表示なった文章の直後には 続きを読む というリンクが付加されるので、これをクリックすると続きを読む事ができます。

また、以下のように記述すると、『続きを読む』のテキストをその都度指定することができます。

サンプルフォーム

このような文章を投稿した場合、非表示なった文章の直後には 以下、ネタバレ というリンクが付加されるので、これをクリックすると続きを読む事ができます。

書式は、上のように -----表示したいテキスト----- となります。任意のテキストの前後に - を5つずつ記述します。

複数の管理者で商品を投稿する方法について

複数の人が日記を投稿する際、投稿者それぞれにIDとパスワードを発行することができます。

商品評価機能について

商品に対してコメントを投稿する際、商品への評価を投稿する事ができます。

商品評価機能を使用する場合、管理者専用ページの『環境設定』画面にある『商品評価の設定』の『商品評価機能』をONに設定します。そうすると、コメント投稿フォームに『評価』の項目が表示されます。

選択できる評価は『環境設定』画面にある『商品評価の設定』の『商品評価情報』から設定可能です。得点と説明をコンマ区切りで複数設定する事ができます。得点はすべて別の値を設定してください。

商品評価機能を使用している場合、cart.cgi?mode=rate のように ?mode=rate を付加して cart.cgi を呼び出すと、高得点の商品一覧を表示する事ができます。簡単なランキングシステムとしても利用する事ができます。

HTML書き出し機能について

  1. 管理者専用ページの『環境設定』画面に『HTMLファイル書き出しの設定』があるので、そこで機能をONにします。
  2. 管理者専用ページの『サイト再構築』画面で『すべてを構築』を実行すると、各HTMLファイルが作成されます。
  3. 商品を投稿したときやコメントが投稿されると、その商品ページとトップページはHTMLファイルが自動で更新されます。

なお、『各分類をHTMLファイルに書き出し』を『ON』にすると、『書き出す分類の設定』で指定した分類の記事一覧ページをHTMLに書き出すことができます。
トップページから特定の分類ページにリンクする場合などに利用すると、プログラムへの負荷を抑えることができます。

書き出す分類は、初期設定では

./archives/illust/index.html,イラスト
./archives/person/index.html,イラスト::人物の絵

となっています。これは『イラスト』の記事一覧を ./archives/illust/index.html に書き出し、『イラスト::人物の絵』の記事一覧を ./archives/person/index.html に書き出す、という意味です。この場合、archives ディレクトリ内に、あらかじめ illust ディレクトリと person ディレクトリを作成し、パーミッションを707に設定しておく必要があります。
書き出し先は特に制限していないので、./fields/illust.html など、他の場所に変更することもできます。

トップページにはナビゲーション(デフォルトのスキンでは、ページの右側に表示されている部分)が表示されていますが、初期設定では商品個別表示の際には表示されません。
ですが、環境設定を変更すれば表示することができます。(ナビゲーションの表示にはJavaScriptが必要です。)

分類コードから分類一覧を表示させる方法について

デフォルトスキンの場合、分類一覧へのリンクは http://www.xxx.com/cart.cgi?field=1 こんな風に分類番号を渡しています。ですが、この番号は分類を追加すると変更になる可能性があります。でもそれだと、分類一覧へ直接リンクを張りたい場合に不便ですし、SEO上も好ましくないです。その対策に http://www.xxx.com/cart.cgi?field=%e9%9b%91%e8%a8%98 こんな風に、URLエンコードした分類名を渡せるようにしています。(機能を使用するにはスキンの編集が必要。)

JSファイル書き出し機能について

日記の一部をJSファイルに書き出し、任意のHTMLファイルから呼び出すことができます。これにより、トップページなどに日記の一部を表示させることができます。

設定は、環境設定画面の『JSファイル書き出しの設定』で行います。『題名一覧をJSファイルに書き出し』と『最近の商品をJSファイルに書き出し』の項目があるので、それぞれONにすると機能が利用できます。

JSファイルの書き出し先は、初期設定では cartpro/data/title.jscartpro/data/text.js です。HTMLファイルからこれらのJSファイルを呼び出せば、日記を表示させることができます。JSファイルは以下のように記述して呼び出します。(./cartpro/data/title.js の部分には、各JSファイルへのパスを記述します。)

<script type="text/javascript" src="./cartpro/data/title.js"></script>

なお、JSファイルの文字コードはUTF-8で書き出されます。呼び出しもとのファイルがShift-JISなどで記述されている場合、scriptタグの属性に charset="utf-8" を追加します。具体的には以下のようになります。

<script type="text/javascript" src="./cartpro/data/title.js" charset="utf-8"></script>

これで、JSファイルと呼び出しもとのファイルの文字コードが異なっても、文字化けせずに表示させる事ができます。

なお、JSファイルに書き出す際のレイアウトは、以下のスキンで設定可能です。

JSファイルへの書き出しは、分類別に行う事も可能です。特定の分類のタイトル一覧や本文をJSファイルに書き出せるので、更新情報をサイトトップページに表示させる際に便利です。

コンテンツの設定について

ナビゲーション部分に、各コンテンツへのリンクを表示することができます。(自サイト内へのリンクを張るための機能ですが、機能としてはリンク集の設定と同じです。)

ナビゲーション部分に、リンク集を表示することができます。(他サイトへのリンクを張るための機能ですが、機能としてはコンテンツの設定と同じです。)

プロフィールの設定について

プロフィールを登録して表示することができます。複数の管理者で記事を投稿している場合、各ユーザーごとにプロフィールを登録することができます。

デザインの変更について