CS-Cart 注文単位でのメッセージ送受信機能

コメントとレビュー」アドオン導入時、注文に関する「メッセージの送受信機能」が利用できるようになる。
参照 http://manual.cs-cart.jp/?page_id=431 (中段)

管理画面 注文内容の確認>アドオンタブ>コメントとレビュー >メッセージ項目を有効に。
(注文単位なので、注文ごとにメッセージ機能を有効にする必要がある。)

アドオンタブの右側にメッセージタブが現れるのでクリック。以降、メッセージ送信と閲覧はこの画面で行う。

管理側
130802-0002
130802-0003

ショップフロントでは、マイアカウント>注文 から個々の注文に入ってメッセージタブの中でやり取りする。

ショップフロント
130802-0005

履歴は時系列で管理画面、ショップフロントのマイページで確認可能。
また、メッセージへの返信機能はないため毎回新規メッセージを送信する形をとる。

メッセージ内容はメールでも送信される。

CS-Cart インストールしてまず行うべき設定

CS-Cart初期設定

基本的にはオンラインマニュアルを見ればほぼ書いてある。
が、一通りの設定すべき項目をまとめて記述しておく。

基本設定

  • 会社概要 > 全部
  • Eメール > 全部
  • 全般 > デフォルト住所

一般設定

  • アドオン > 日本語版アドオン > Eメール > SMTPサーバーのポート番号

デザイン

  • ロケーションタブ「トップページ」の歯車アイコンクリック > 「ページタイトル」
    (他のロケーションも必要に応じて設定。トップページ以外のカテゴリ、商品、ページの個々のコンテンツでも指定可能)

支払い方法
配送方法

  • 必要に応じて。

 

CS-Cartはインストール時の設定項目は少なめ。その代わりインストール後に設定する項目は多め。
上記の設定項目は最低限の項目であり、利用機能が多ければ当然のことながら設定項目は相応に増える。

いずれ「目的別設定マニュアル」も作る必要があると感じている。

CS-Cart用アドオン いくつか出来上がってきてます

ひとまず速報的に。

  • ショップ側ソート順拡張アドオン:ショップ側商品一覧の「ソート順」に「登録日順」を追加する
  • 詳細検索結果の拡張アドオン:新着商品、全商品を詳細検索の検索結果として一覧表示する
  • 管理側受注一覧検索拡張アドオン:受注一覧の詳細検索に「支払方法」を追加する
  • 受注商品のソート順指定アドオン:納品書や配送表等で受注商品の並び順をコントロールする

個々のネーミングは未定です。。

リリースタイミングも未定です。

先日告知した「日付オプション追加アドオンの機能追加」と同時にリリースしようかなと思ってます。

CS-Cart 日付オプション追加アドオンの拡張

先日リリースした日付オプション追加アドオンですが、必要に迫られていくつか機能拡張しました。

基本機能は下記の通りです。

  • オプションに日付を追加
  • 入力にカレンダーからの選択機能を追加
  • 携帯対応(通常のテキストフィールド)

これに下記の機能を追加しました。

  • 入力文字列の正規表現バリデート(デフォルトで持っている機能を当該アドオンでも利用するようにしただけですが。)
  • 特定の日付指定に対応(カンマ区切りで複数指定可 ex 2012/03/15,2012/03/30)
  • 日付範囲の指定に対応(入力可能な日付範囲を指定 ex 2012/04/01%%2012/05/26)
  • 当日より前の日付の指定禁止に対応(当日以降の日付選択のみに)
  • 携帯アドオンに完全対応(日付をセレクトボックスで生成 指定日も範囲も当日以降の日付表示も対応)

指定範囲を外れた入力に対してはPHP側でチェックします。
正規表現をうまく使えばデフォルトのバリデーションでチェックできます。
(上記画像の正規表現項目に設定してあるのは日付フォーマットのチェック用です)

これらの設定は商品の編集画面のオプションタブで行います。
携帯アドオンをご利用の場合には携帯用言語に切り替えてそちらでも設定する必要がありますので注意が必要です。

性質上「特定の日付指定」と「日付範囲の指定」は排他関係にありますが、それぞれの設定項目の入力制限は実装していませんので設定時にはどちらか片方のみにするようにしてください。(アップデートのリリース時には対応するかもしれませんが未定です)

このアドオンは某サイトのチケット販売でご利用頂いています。
(公開が可能であればご紹介させていただきますが現段階では導入サイトは非公開です)

ちなみに、CS-Cartでは jQuery UI のDatepicker が採用されています。

CS-Cart アドオンの構成

まず、アドオンには決められた作法があります。

ディレクトリ構成、ファイル構成、それらの名称が下記のように定められています。

 

ディレクトリ構成

/addons/[アドオン名]
アドオンのPHPファイルを格納するディレクトリ

/var/skins_repository/base/customer/addons/[アドオン名]
ショップフロント側で使用するアドオン用スキンファイルを格納するディレクトリ

/var/skins_repository/base/admin/addons/[アドオン名]
管理者用パネル側で使用するアドオン用スキンファイルを格納するディレクトリ

/var/skins_repository/base/mail/addons/[アドオン名]
アドオン用Eメールテンプレートを格納するディレクトリ

※ /addons/[アドオン名] 以外のディレクトリはアドオンの構成上必要な場合のみ作成(下位階層も同様)

ファイル構成

/addons/[アドオン名]のディレクトリに配置するファイルは下記の通り。

addon.xml
アドオンの設定ファイル。アドオンのインストールやアンインストールに必要。

func.php
アドオンのコントローラー内で使用する関数を定義するファイル。

init.php
アドオンで使用するフックを登録するファイル。

config.php
アドオンで使用する定数や各種設定値を登録するファイル。

/controllers
アドオンで使用するコントローラーおよびCS-Cart標準コントローラーのプレコントローラーおよびポストコントローラーを格納するディレクトリ。

/schemas
管理者用パネル内のメニューや管理者に付与する権限など、既存のスキーマを拡張するファイルを格納するディレクトリ。

 

全てのアドオンは上記のような構成で成り立っています。

上記のディレクトリ構成を見ると分かりますが、/var/skins_repository/以下に置くディレクトリの下位階層について触れていません。(テンプレートでの表示側ですね)

これらは必要に応じてと書いていますが、おおざっぱに言うとCS-Cart本体のディレクトリ構成に準じた命名規則と配置で設置します。
admin側、customer側、mail以下ではその構成が異なりますが多くのアドオンは下記のようなディレクトリを持っています。
(一部CS-Cart本体に無いディレクトリ名を使っている物もあります。が理由が無い限りCS-Cart本体のディレクトリ構成に則った方が良いと思います。)

/var/skins_repository/base/admin/addons/[アドオン名]以下

  • common_templates
  • hooks
  • views

/var/skins_repository/base/customer/addons/[アドオン名]以下

  • blocks
  • hooks
  • views

/var/skins_repository/base/mail/addons/[アドオン名]以下

  • hooks

 

まずはアドオンがどういった構成で成り立っているのか上記を念頭においてください。

 

下記は実際のアドオンの構成例です。

CS-Cart アドオン開発リファレンス

これ需要あるかなー。

飯のタネなんでこういうことを明文化するのは賛否ありそうなんだけど「CS-Cart利用者」を増やす為には「採用サイトを増やす」ことと同じくらい、いや普及フェーズにおいてはそれ以上に「CS-Cartをプロモーション」する必要がある。

その為には「CS-Cartってなんぞや」ということを紹介していかなきゃいけない。

機能紹介はうちのサイトでもそのうち拡充するとして、今現在あんどぷらすにしか出来ないことをやるべきなんじゃないかと。

そのひとつが「アドオン」に関すること。

アドオンの受託開発は勿論業務として行っているんだけど、もっと多くの優秀な人たちにアドオン開発に参加してもらいたい。
世のPGとか俺より遥かに優秀な人たちばかりなので参入されるのは脅威でもあるんだけど。

そんなわけで「アドオンの作り方」的な記事を書いていこうと思う。
本当はCS-Cartそのものの動作について触れるべきなんだけどそこは最大限省略。

 

CS-Cartではアドオンと呼んでいるけど、ZenCartではモジュール、WordPressではプラグイン。色々呼び名はあるけどまぁ似たようなもの。

WordPressでは管理画面からプラグインを探してオンラインでインストールできちゃう。アップデートも管理画面からポチってやるだけで終わる。基本的にはどのプラグインも共通の作法に則って作られてるからできる芸当。
良い仕組みだよね。

ZenCartはFTPアップロードしてモジュールごとの仕様でインストール方法が異なる。ものによっては手動でSQLを走らせる必要がある。

CS-CartはアドオンのファイルをFTPでアップロードする必要はあるけど本体へのインストール、アンインストールは管理画面からポチっとすれば終わる。XOOPSみたいな感じ。

 

WordPress優位かな。現状は。
でもいずれCS-CartもWordPress的になると思うよ。いつになるか分かんないけどw

 

アドオンの構成

アドオンの仕組み(未

オフィスあんどぷらすは生まれ変わります

2000年11月に創業したオフィスあんどぷらすは、2012年3月8日に株式会社あんどぷらすになります。

いつのまにか12年目なんですね。。
忙しさにかまけて先送りしてきましたがようやく法人にする決断をしたのは今年の1月のことでした。

創業から12年目ということはこの際忘れて、イチからのスタートだと思って取り組んでいきたいと思っています。

CS-Cart メールテンプレート拡張アドオン

過去記事でも開発中とご報告したCS-Cart用アドオン「メールテンプレート拡張アドオン」をアップデートしました。
昨日CS-Cartのフォーラムでも質問があり回答してありますが、このアドオンは下記の機能を実現するものです。

ーーーーーーーーーーーーーーーーーー

デフォルトのメールテンプレートアドオンを拡張します。(受注メール、自動返信メール、ステータス変更通知メールが対象になります)

 

機能その1:
メールテンプレート「注文内容」に商品型番を表示します。

書式を4パターンから選択できます。

  1. デフォルト(数量 × 商品名 = 小計 改行 オプション)
  2. 商品名 (商品型番) x 数量 = 小計 改行 オプション
  3. 連番 商品名 (商品型番) x 数量 = 小計 改行 オプション
  4. 連番 商品名 (商品型番) 改行 オプション 改行 数量 × 単価 = 小計

 

機能その2:
注文の支払方法「銀行振込」の時、注文内容テンプレート中の「支払方法」の内容を拡張します。

ーー下記が追加されますーー
商品代金は以下の口座へお振込みください。
~以下支払方法の編集画面、詳細設定に記載した内容~
~/br/を除去した値~
ーーここまでーー

 

CS-Cartバージョン
CS-Cart日本語版 v2.1.4-jp-2 および CS-Cart日本語版 v2.2.1-jp-1以降

ーーーーーーーーーーーーーーーーーー
管理画面、支払方法>支払方法の編集>詳細設定の画面

機能その2で挿入する文字列(銀行の口座情報)はこの画面に入力した文字列です。
メールテンプレート拡張アドオン用に文字列を新たに設定するものではなく、デフォルトで用意されている機能を最大限に流用しますので設定は非常に簡単です。

 

 

 

 

送信されるメールはこのようになります。

  • 注文商品の表示内容と順序:連番 商品名 (商品型番) 改行 オプション 改行 数量 × 単価 = 小計
  • 口座情報を注文内容テンプレートに追加する:追加する

と設定した場合に送られるメール本文です。
(住所氏名等が記載されてますがオフィスの所在地なので気にしないでください。)

 

 

 

 

 

 

 

下記はデフォルトのメールです。

 

価格は10,500円(税込)です。

ご購入はあんどぷらすのサイト もしくはCS-Cartマーケットプレイス から。

 

 

 

 

CS-Cart v3に960グリッドシステム

CS-Cart ver3以降が「960GridSystem」を採用するということを少し考えてみる。

CMS採用の大きな理由に、サイトリリースまでの短期化というものがある訳だけど、それ以上に重要なのは「運用のしやすさ」だと思う。

そしてどのCMSを使うのかという選定の部分で重要な指標もいくつかあるんだけど、そのうちのひとつに「自由度」を求める向きが多い。

これはイチからECを始める場合にはさほど重要ではないかもしれないけど、既に他のシステムで運用しているサイトのプラットフォームを変更する場合とか、既にある会社のローカルルールに則したサイトを作る場合などに重要度が増してくる指標。

ぶっちゃけ機能面はなんとかなる。PHPで作られていれば「無ければ作れば良い」。

じゃぁデザインは?まぁこれも「作れば良い」。
とはいえ、デザインにおいての自由度って、最も自由度の高いものは何かと言われれば、CGI式のカート部分をhtmlに埋め込むタイプ。これを採用して好きにデザインするのが一番自由度が高い。

でもこれだと「自由度が高い」=「大変」なんだよね。

それでCMSと呼ばれる仕組みは予めテンプレートを用意してその枠組みの中にテキスト(htmlやCSSのマークアップもね)を流し込むことである種制限を設けた中での自由度を提供している。

この部分のルールってのがCMSごとに異なってる。
プラットフォームを変えるとここへの対処が変わってくるのが「乗り換え障壁」だったりもすると思う。

ZenCartのような完全独自のテンプレート。EC-CUBEやCS-Cartのようなsmarty。
smarty採用のCMSにしても中身を見ると考え方が大きく違ってるはず。

EC-CUBEのテンプレートはsmartyそのものを自分で書かなきゃいけなかったり(新規ブロックの追加)、CS-Cartのそれはロジックが混在してたり(ここは残念なところ)。

そこでCS-Cartのバージョン3。

これは表題の「960 Grid System」というデザインフレームワークを採用するとのこと。

960 Grid Systemってなに?

ここ数年デザインよりもZenCartやらCS-Cartの機能開発案件でデザインの話に疎くなってたんだけど、2008年くらいから提唱されはじめたCSSによるレイアウトをグリッドで行うという発想の代表的な存在。たぶn

ページの幅960pxを基準にして設計するグリッドデザインのことで格子(グリッド)をベースにそこに出来たブロックごとに図版や文字を配置してデザインを行うもの。

あれ?CMSってみんなそんな感じじゃね?
と思っちゃうところかもしれないけど、CS-Cartにおいては基本は5分割のテンプレートです。

  • トップ
  • 左カラム
  • センターカラム
  • 右カラム
  • ボトム

960グリッドシステム採用のバージョン3だともっと細分化して配置できるようです。

CS-Cartでは16分割を採用しているようで、940pxの左右に10px余白、合わせて960px。
グリッドは40px+20pxのグリッド間余白。

デモサイトを少し触ってみたところ、デザインの自由度は格段に向上してる。
かといって自由になった分、自分でやらなきゃいけないことが増えてるということではなくて (もちろん設定できる項目が増える訳なのでその分やることは増えますけど。)、グリッドに配置するブロックパーツがプリセットでたくさん用意されている。
更にそのブロックに入れるテンプレートもプリセットで用意される。

つまり、

  • 最少単位のテンプレートがたくさん用意されてる
  • テンプレートを入れるブロックがたくさん用意されてる
  • ブロックは16分割のグリッド上に自由に配置できる
  • 高さは可変

とこうなるわけです。

こういったフレームワークが採用されます。デザインは格段にやりやすくなりますね。デザイナーさんの腕の見せ所!

 

ただし、懸念はないわけじゃないです。

デザインフレームワークが刷新されるということは、CS-Cartそのもののアップグレードはどうすんの?という問題。
これだけフロント側が変わるんだからちょっと簡単じゃない気がするなーと思っていたらこんな記事がありました。

http://blog.cs-cart.com/2012/02/27/cs-cart-3-upgrade-faq/

Q: After CS-Cart 3 is released, how can I upgrade my CS-Cart to this version?

A: CS-Cart 3 is a major release with many modifications, so the upgrade process will be a bit trickier than it was for previous versions.

Unlike before, it will be impossible to upgrade CS-Cart to version 3 via the Upgrade center in the admin panel. Instead, it will be required to install CS-Cart 3 separately and then transfer the data from CS-Cart 2.2.4 to it.

In order to do it we will provide a special add-on for CS-Cart 2.2.4 that will allow you to pack the whole store database and images into a special archive.

CS-Cart 3 will have a pre-installed Export/Import Stores add-on that will be used for importing store data from such archives.

Also, if both CS-Cart 3 and 2.2.4 are installed on the same server, you will be able to perform data transfer without creating a transition archive: CS-Cart 3 will be able to connect directly to MySQL database of CS-Cart 2.2.4 and gather all data automatically.

バージョン3はたくさん弄ったメジャーバージョンアップだぜ、だからアップデートはこれまでよりも若干トリッキーなんだぜ。
これまでみたいにはいかなくって、バージョン3をインストールしてそこに2.2.4からデータを移さないといけないぜ。
アップデート用アドオンを出すからそれでDBと画像を圧縮して抜き出すぜ。
バージョン3のインポーターを使ってそのデータを取り込むんだぜ。
まぁ同じサーバーにバージョン3と2.2.4がインストールされてれば自動でデータ移行できるけどな!

以上意訳w

あんまり気にすることはなさそうだけどデザインに関してはデータ移行だけでは2.2.4と全く同一にはできないかもね。
再現する作業は必要になりそう。
まだなんとも言えないけど。

Google Insights for Search ちょいと触ってみる

なかなか面白いチャート。

読み取れることは多々あるよね。

EC-CUBE 独走とかそんな誰の目にも分かることは置いといて、去年1年の動きが興味深いなと。特に年末。

日本ではメジャーとは言えないプラットフォームだけを集めてみました。

CS-Cart以外はOSSなので直接比較はまぁフェアではない。日本語版のフリー版が出たのも昨年11月のことなので。

で、何を読み取れるかってことだけど、去年は日本において大きなシェアを持つ「EC-CUBE」「ZenCart」「Magento」の検索クエリーがずっと下げ続けていたんだけど、この間世の人達のECに対する興味は薄れていたのかなぁという疑問が沸いてきて。
で、このスクリーンショットの出番。

メジャーとはいえないこれらのプラットフォームの検索クエリーはどうだったのかと。

んー減ってるねw

これを震災の影響だと言っちゃうのは簡単だけど、たぶん関係ない。3月に入る前から急減してるし。

そうかASPに流れたのか?

流れていなそうだけど、検索ボリュームに圧倒的な差があるから判断し難いな。

Amazon抜いてみよう。

あれ。。Amazon抜くと楽天上昇してんのか。

 

ただし、このGoogle Insights for Searchはベータサービスだから精度はちょっと微妙。
(検索クエリーの取り方によって結果が大きく変わる上に期間指定でよく分かんない結果になるので注意は必要です)