2005年01月19日
osCommerce alterの今後について

osCommerce alterについては、現在次期バージョンのalter-2に取り掛かっているところです。
スケジュールも押しているので、早いところ片をつけたいところです。
alter-2で、とりあえずネットショップを作るうえでのベースとなる部分が固まるかなと思います。
その後は、ちょっとosCommerceとは路線を変えるかもしれません。
路線を変えるというのは、osCommerceはどうしても設計が古いのでソース部分からの再構築ですね。
osCommerceの本家のほうでは、MS3というバージョンに向けて、徐々に作業は進んでいるようですが、これまたいつリリースされるか皆目見当がつかず、またその内容も、管理画面の見た目が変わりそうですが、特に目を見張るようなものでもなさそうなので。。。
ところで、本家サイトのcontributionがRSSに対応したので、RSSリーダーでチェックできるようになり、何かと発見があるこのごろです。
投稿者 田中@グリニッジ : 23:30 | コメント (4) | トラックバック
2005年01月13日
osCommerce FAQ 日本語のメッセージを変える方法

osCommerce alterに限らず、osCommerceにおける日本語のメッセージを変える方法です。
osCommerceは、もともと多言語に対応した形で作られているソフトであるため、各言語のメッセージ類は、その言語用のディレクトリーに格納されています。日本語のメッセージ類を変更したいと思う場合には、以下のファイル群を編集することで行えます。
./includes/languages/japanese.php か、
./includes/languages/japanese/*.php の中に記載されています。
(*.phpは、元々のphpファイルと同じ名前のファイルを指します)
例えば、
http://www.example.com/default.php
というURLのページに存在する日本語のメッセージを変更したい場合には、
./includes/languages/japanese/default.php
あるいは、
./includes/languages/japanese.php
の中を探してみると良いでしょう。
どちらに収められているかの大まかなルールとしては、上記の例で行けば、default.phpのページのみで使われる日本語メッセージについては前者、default.phpのページに限らず、複数の箇所で利用される可能性があるものは後者に格納されるということを頭の隅においておくと、探しやすいかと思います。
もっとも、osCommerce alterは、元もとのosCommerceより管理を簡単にするために、管理画面から編集できるようにしている部分や、テンプレートファイル内で処理している部分もありますので、あくまでも基本は上記のようになっている、ということで御理解くださいませ。
投稿者 田中@グリニッジ : 00:34 | コメント (2) | トラックバック
2005年01月12日
osCommerce のショッピングカートの仕様

osCommerce のショッピングカートですが、ちょっと分かりづらい部分があります。
以下は、ログイン画面に表示される、カートについての文章ですが、
ショッピングカート
初めて osCommerce をご利用いただくお客様も、メンバー(登録されたお客様)と同様に [ショッピングカート] へ商品を入れていただくことができますが、メンバー登録されずに osCommerce から離れると、 [ショッピングカート] 内の商品は、保存されずに消えてしまいます。メンバーズ・ショッピングカート
osCommerce へ [ログイン] されたメンバーの方には、[メンバーズ・ショッピングカート] がご利用いただけます。[メンバーズ・ショッピングカート] はメンバー別の専用ショッピングカートとなっており、一度ショッピングカートへ入れた商品は osCommerce から離れても消えません。※ご自分で削除するかご注文が完了するまで保存されます。補足
メンバーの方が osCommerce へ [ログイン] せずに商品をショッピングカートへ入れた場合、そのまま [ログイン] していただくことで自動的に [メンバーズ・ショッピングカート] へ商品が移動されます。
このメンバーズ・ショッピングカートというものの仕様が、ちょっと曲者です。
ログインを行って、いくつかの商品をカートに入れる。
購入を完了せずに、サイトから離れる。
数日経過。
再度そのサイトに訪れる。ログアウトしている。
ゲスト状態のまま、いくつかの商品をカートに入れる。
購入手続きを行おうと、ログインを行う。
ログインを行うといきなり、カート内の商品が増えて、ぎょっとする。
(数日前にメンバーズ・ショッピングカートに商品を入れたままサイトを離れたため)
ということが起こるのが、いつも気になっています。
このようなことが起こらないために、ゲスト状態でカートに商品を入れた後にログインする場合には、以前ログインした際に保持していたカート内容は破棄する、という仕様にしたほうがいいのではないかなとも思っています。
osCommerce のショッピングカートの仕様で他に気になる点としては、一度カートに入れた商品を削除する際の操作について。削除したい場合には、チェックマークを入れて更新するという形になっているのですが、これは直感的ではないなぁと思っています。さすがに最近は慣れたので、そんなに違和感もないのですが。
世の中のカートを色々見ましたが、やはり削除ボタンを押して削除するという形が一般的だと思いますので、osCommerce alterの次期バージョンでもその形しようかなと思っています。
現在、osCommerce alterのデモサイトにあるカートもそのような形にしています。まだインターフェイスがこなれていないので、パーツの配置を含め、もう少し検討の余地はありますが。
投稿者 田中@グリニッジ : 23:28 | コメント (1) | トラックバック
2005年01月11日
osCommerce alterの定休日カレンダーについて

osCommerce alterで付け加えた機能として、定休日表示用のカレンダーがあります。
管理画面の、
[管理メニュー]->[インフォメーション]->[定休日]
より、お休みの日にチェックマークを入れておくと、ショップの左側ナビに表示されるカレンダーに、お休みの日が赤く表示されるという機能です。
単純な機能ではありますが、中小のショップでは、この定休日を表示させておくということは意外と効果的です。こういった表示をしっかりと行っておくだけでも、ショップに対する信頼性というものは高まりますし、質問を送ってもいつまでも返事がない、などというお客様のストレスも軽減されることでしょう。
この定休日表示に関して、defaultテンプレートでは表示されないようになっています。
[管理メニュー]->[基本設定]→[ショップ情報]→[テンプレート]
にて、default2か、default3を指定していただければ表示されるようになります。
defaultテンプレートで定休日を表示させたい場合は、default2またはdefault3のテンプレートファイルから、該当部分をコピーすることで行えます。
./templates/default*/column_left.html の中にある、
<!-- calendar //-->
から
<!-- calendar_eof //-->
までをコピーします。
次に、./templates/default/column_left.html の中の表示させたい部分に貼り付けます。
あとはhtmlやスタイルシートを好みに合わせて変更すれば完成となります。
このdefaultテンプレートに定休日表示部分が含まれていないのは、テンプレートファイルを編集することで、画面表示を自由に変更することができますよ、というデモンストレーションも兼ねているためです。
smartyによるテンプレート化の恩恵で、オリジナルのosCommerceにはない、簡単更新を実現しています。
もしこの定休日表示部分を細かくカスタマイズしたい場合は、./includes/boxes/calendar.php というファイルに、phpコードが書かれているので、そちらも併せてご覧ください。
ちなみに、、./includes/boxes/ 以下には、左右のナビを表示するための各ボックス表示用のコードが収められています。
管理画面にて設定する定休日に関する情報は、データベースに保存されますので、少々プログラムの知識を必要としますが、その情報を元に別途カスタマイズを行うことも可能です。
アイデアのひとつですが、、、
「指定日配送につきましては、本日御注文の場合、○月○日以降の日付で承ることが可能です」
という表示を行いたい場合に、定休日のデーターを参照し、定休日が存在している場合はその日数を加算して承れる日付を算出するなどということも可能です。
実際そのようにして、配達日時指定対応の配送モジュールを作成したこともあります。
投稿者 田中@グリニッジ : 01:20 | コメント (10) | トラックバック
2005年01月10日
PHPのフレームワーク3

以前より存在に気がついてはいたが、こちらに書き込んでいなかったので、改めて。
このところ、PHPのフレームワークが色々と登場するようになって、選択肢も広がってきましたね。
投稿者 田中@グリニッジ : 12:50 | コメント (3) | トラックバック
osCommerce alterの管理画面ログインについて

osCommerce alterの管理画面へのログインに関する仕様です。
この件に関しては、ドキュメントを一切まとめていなかったので、ひょっとすると気がついていない人もいらっしゃるかもしれません。
osCommerceの日本語版、MS1Jでは、管理画面への認証機能がついています。
ユーザー名とパスワードを入力すると管理画面にログインできるという機能です。
osCommerce alterでは、この機能を拡張しています。
MS1Jでは、[管理メニュー]->[ユーザー]->[ユーザー管理] という箇所にて、管理者権限を与える、取り消すといったことができます。ここで管理者権限が与えられたユーザーは、その後、管理画面にログインしてユーザー管理を行うことができるようになります。
しかしながら、管理者権限というのは、ユーザーの管理ができる以外は行える作業は一般ユーザーと変わりがありません。逆を言えば、一般ユーザーでログインした場合に、ユーザーの管理はできませんが、他にショップの設定を色々書き換えたり、多くの作業が行えます。
しかし現実問題として、アルバイトのスタッフには商品登録や受注管理だけを行わせ、他の設定に関する部分にはアクセスしてもらいたくないという場合もあると思います。そこで、一般ユーザーでログインした場合の操作可能領域の制限という拡張カスタマイズを行っています。
具体的には、一般ユーザーの場合は、カタログ管理、顧客管理、レポート類の閲覧、各種ツール類へのアクセス、インフォメーションページ類の編集、自らのログインパスワードの変更、という作業のみが行えます。
ということでした。今回はエントリーは手短に、以上で終わりです。
投稿者 田中@グリニッジ : 01:23 | コメント (8) | トラックバック
2005年01月08日
osCommerce alterの総額表示部分について

本日のエントリーは、ちょっとややこしいです。
osCommerceの総額表示対応として、Japan Tax Displayというカスタマイズ方法が公開されています。
http://www.oscommerce.com/community/contributions,1377
osCommerce alterでも、このJapan Tax Displayを組み込んでいますが、細かい部分で仕様を変更しています。
オリジナルのJapan Tax Displayでは総額表示を行うにあたり、商品価格に消費税分を加算した形で税込金額を算出し、表示を行う形となっています。
例えば商品価格が98円の商品で、消費税率が5%、端数切捨ての場合、102円として算出され、画面上には102円(本体価格98円)といった形で表示されます。
たとえばこの商品を5つ購入した場合、オリジナルのosCommerce+Japan Tax Displayでは、合計金額は 102円×5=510円と算出され、この5つの商品に関する消費税は 510×(5÷105)=24.28...円、という形で算出されます。
この消費税に関する計算は、個々の商品ごとに行われるため、別に520円の商品を購入した場合には、その際にも 520×(5÷105)=24.76...円、という形で算出され、最終的にこの額が合算される形で消費税額として表示がなされます。24.28...+24.76...=49.04... で消費税額は49円となります。
一方、osCommerce alterでは、まず商品価格の入力を税込金額で行うこととし、消費税は、合計金額から逆算して計算する形としています。
例えば、商品価格を102円と入力した場合、消費税は 102×(5÷105)=4.85... という形で算出します(端数切捨ての場合は、4円)。これを元に本体価格は 102-4=98円、という値が得られます。
この商品を5つと、さらに520円の商品を購入した場合は (510+520)×(5÷105)=49.04... ということで、消費税額は49円となります。
仕様は変更していますが、最終的な算出税額は同一となっていることがお分かりいただけるかと思います。
ただし、総額表示の本来の正しい計算方法も知っておかなければなりません。
税抜98円の商品を5個購入する場合、税込価格は102円、そのうち消費税額が4円となり、それぞれ5倍した額で、合計税込価格 510円、うち消費税額 20円、とするのが総額表示、本来の正しい計算方法です。
しかしながら、510円(税抜き価格490円)に対して、消費税20円というのは、総額表示導入前の計算方法に慣れている消費者にとっては、混乱の元になるかも知れないため、あえてosCommerce alterでも、
最終的な合計金額から逆算する形で、消費税額を24円として算出するようにしています。
この算出方法も財務省によって過渡的に認められており、将来的には、内消費税額は表示しないようになるのが主流であると思われることから、このような形を採用しています。
もっとも、ここら辺のポリシーは店舗によって当然変わってくるものだろうと思われます。
また、BtoBの場合には、そもそも総額表示を行う必要はありません。
そこで、商品金額を、税込、税抜のどちらで入力するのか、また、内消費税はどのように算出するかなどについては、今後、細かく管理画面で設定できるようにしようと考えています。
今日、このドキュメントをまとめていて、色々とこの総額表示部分について、コードを再確認することができ、整理すべき点も明らかになってきました。というわけで、またTODOが増えることになりそうです(^_^;
投稿者 田中@グリニッジ : 00:37 | コメント (1) | トラックバック
2005年01月07日
osCommerce alterのSEO的な取り組み

osCommerce alterの仕様がドキュメント化されていないので、そのうちしっかりまとめるとして、まずはこちらに下書きをかねていろいろと書いていきます。osCommerce alterは、何でもかんでも、便利そうなカスタマイズを加えればよい、という発想ではなく、曖昧ではありますが、一応はカスタマイズの際のポリシーもありますので、そこら辺をうまくまとめることができればいいかなと思います。
osCommerce alterのSEO的な取り組みについて。
標準のosCommerceと比較して、osCommerce alterには、SEO対策として以下のようなカスタマイズが加えられており、何も行っていないosCommerceよりは明らかにサーチエンジンにて上位表示が望めます。
1、タイトル周りの変更
2、商品名など、SEO的に重要な部分を<h1>タグに変更
3、テーブル主体のレイアウトを、一部CSSによるレイアウトに変更
4、META Keywords、META Descriptionを柔軟に設定できるように変更
5、「サーチエンジン対策のURL」について
では、ひとつずつ。
1、タイトル周りの変更
標準では、ブラウザのタイトル欄(<title>タグの箇所)について、“osCommerce”など、設定した文字列しか表示することができません。商品ページでも、カテゴリーでも、ショッピングカートの画面でも、すべてosCommerceとのみ表示されます。
これでは、SEOどころではありません。
そこで、タイトル部分は、まず、管理画面で設定するショップ名と連動するようにしました。
管理画面でABCショップ、と設定すれば、タイトル部分にABCショップと表示されます。
加えて、商品ページでは、その商品の名前、カテゴリーページでは、カテゴリー名、他にもショッピングカートの画面であれば、ショッピングカート、という文字列が、ABCショップという文字列の後に続いて表示されるようになっています。
2、商品名など、SEO的に重要な部分を<h1>タグに変更
いろいろな手法が取りざたされていますが、要は構造的でクリーンなhtmlを書けば、それがすなわちSEO対策となるということは、もはや承知の事実です。
Movable Typeなどで書かれたエントリーがサーチエンジンにて上位表示されるのも、Movable Typeが吐き出すhtmlが構造的でクリーンだということに他なりません。
構造的という意味では、商品ページにおける一番強調すべき文字列は商品名であり、その部分は当然<h1>タグで書かれているべきです。サーチエンジンのクローラーは、<h1>タグで書かれている文字列は、当然重みを持ったキーワードとして収集していきます。
ということで、alterでは、商品ページにおける商品名、及び、他のページでのそれに類する部分は、すべて<h1>タグに変更しています。
3、テーブル主体のレイアウトを、一部CSSによるレイアウトに変更
osCommerceは、テーブル主体のレイアウトであり、かつテーブルを入れ子にしている箇所が多々あるため、ソースが複雑になり、SEO的には少々不利なソフトウェアです。さらに、デザインに凝ったテンプレートを導入しようものなら、SEO的な効果が激減することは覚悟せざるを得ません。
そこで、osCommerce alterでは、レイアウトに、可能な限りCSSを使うように変更を行っています。
osCommerceは、もともとCSSを使っていますが、その使い方はフォントの色やサイズを変えるといった程度で、レイアウト部分にまではCSSを適用していませんでした。
ブラウザの互換性の問題から、全くテーブルを使わずにレイアウトを行うことは現実的ではないため、現状ではテーブルも併用して使ってはいますが、可能な部分でCSSを使ったレイアウトを用いるように変更しています。
4、META Keywords、META Descriptionを柔軟に設定できるように変更
Yahoo! JAPANがサーチエンジンをGoogleからYSTに乗り換えたことに伴い、各ページにメタタグを埋め込むことの必要性が高まりました。標準のosCommerceでは、こういったメタタグを埋め込むことはできませんが、osCommerce alterでは、2段階で、メタタグを埋め込むことができるようにカスタマイズを行っています。まず、管理画面で、すべてのページにデフォルトで埋め込まれるメタタグを指定することができます。さらに、商品登録画面で商品ごとに、メタタグを追加の形で指定することができるようになっています。
5、「サーチエンジン対策のURL」について
[管理メニュー]->[基本設定]->[ショップ情報]
という箇所で「サーチエンジン対策のURLを使用(開発中)」をtrueにすることも、特にGoogleに対し、効果があるでしょう。
この「サーチエンジン対策のURL」をtrueにすると、URL の ? や = が / に置き換わるようになります。
これによって、Googleなどのクローラーは、そのページを動的ページではなく、静的ページであると認識し、ページランクも設定されるようになります。
osCommerce alterでは、この「サーチエンジン対策のURL」機能にも、若干手を加えています。
標準のosCommerceでは、この「サーチエンジン対策のURL」をtrueにすると、ログインしている、していないに限らず、常にURLが置き換わってしまいます。しかしながら、サーチエンジンのクローラーは、そもそもログインできないわけですから、ログイン後については置き換える必要はなく、かえって置き換えることで余計な処理が加わってしまいます。
そのため、ログイン後では、「サーチエンジン対策のURL」をtrueにしている場合も、URLは置き換えないように変更しました。
osCommerce alterは、上記のような形でSEO強化版となっております。
独自ドメインでネットショップを運営する場合は、楽天市場などに出店するのとは違い、モールによる集客ということは望めませんので、サーチエンジンからいかに人を呼び込めるかということが勝負の分かれ目になるでしょう。
お客様は、サイトの見た目で商品を買うのではなく、あくまでも商品の魅力で商品を買うはずです。デザインに懲りすぎることなく、シンプルで、サーチエンジンにも優しいサイト作りを目指すのも必要ではないかと思います。
投稿者 田中@グリニッジ : 01:46 | コメント (4) | トラックバック
2005年01月06日
osCommerce alterをカスタマイズする方法

以前、oscaのMLにも書いた内容ですが、加筆修正して、こちらに載せておきます。
osCommerceの公式サイトなどで有志によって公開されているカスタマイズ内容を、osCommerce alterに追加する際の、簡単な手順書です。
admin側は通常、MS1Jと同様の方法で問題なく組み込めると思います。catalog側は、デザインを簡単に修正できるようにするために、デザイン部分をsmartyというテンプレートシステムを使って分離しています。通常のosCommerceでは、このような分離が行われていないために、カスタマイズ内容を組み込む際は、注意をする必要があります。
catalog側のいずれかのPHPファイルを、MS1Jの同名のファイルと比較して眺めてもらえれば、修正箇所はだいたい予想をつけてもらえると思いますので、まずは比較してみてください。
では、手順です。
画面表示を行っていると思われる箇所を変更します。まずは、表示の先頭部分。
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
という行があると思ますので、それらは残し、それ以外のhtmlのタグの類を削除します。
続いて、ファイル先頭のほうで、まずsmartyを使えるようにする必要があるので、
require_once(DIR_SMARTY);
という行を追加します。
さらに、ページのタイトル部分に文字列を埋め込むために、
$subtitle = HEADING_TITLE;
という行も必要であれば追加してください。
これらを
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
の前に配置します。具体的には、以下のようになると思います。
<?php
require_once(DIR_SMARTY);
$subtitle = HEADING_TITLE;
require(DIR_WS_INCLUDES . 'header.php');
?>
左側ナビの部分(以下)は、上記の部分に続きます。
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
さらに、表示部分末尾のほうでも、htmlのタグを整理し、
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
のような形に書き換えを行ってもらえればよろしいかと思います。
あとは、追加phpファイルに、javascriptのコードが記載されている場合は、その部分を抜き出して、includes/javascript 以下に適当な名前で保存し、その内容を、./includes/header.php 内に記載すればカスタマイズは無事完了すると思います。
なお、osCommerce alterはMS2や、MS1Jを元に既に多くのカスタマイズを加えていますので、場合によっては拡張モジュールを組み込んでも、そのままでは正常に動作しない場合もございます。カスタマイズ前には、必ずバックアップを!
投稿者 田中@グリニッジ : 01:46 | コメント (3) | トラックバック
osCommerce alterのほうは・・・

osCommerce alterですが、結構大幅にいじろうと取り掛かっています。
http://osc.ebisuweb.jp/ の方にも、作業途中のものを少しずつ反映させています。
自分で店舗を構築するということを前提に、いろいろと変更していこうかと思っています。
カートの削除部分など、手付かずで残っていた気になる点を既にいろいろと修正しています。
投稿者 田中@グリニッジ : 01:36 | コメント (1) | トラックバック
2005年01月01日
本年もどうぞよろしくお願いいたします。

本年も、どうぞよろしくお願いいたします。