【V5計画】CAFEMILK SHOPPING CART V5 (113レス)
1-

1
(2): 2009/07/04(土)13:03 ID:20ztUasx(1/5) AAS
柔軟性の高いテンプレートとプラグインで高度なネットショップが比較的安価に構築できる
CAFEMILK SHOPPING CART V5 について。

○ 公式
外部リンク:cafemilk.milkcafe.to
サンプル
外部リンク:cafemilk.milkcafe.to

○ 価格
省5
2: 2009/07/04(土)13:04 ID:20ztUasx(2/5) AAS
○ 動作環境
Perl5.8以降
Image::Magick推奨
sendmail
DBは必要なし (CSVを使う)

○ 特徴
プラグイン&スキン
省11
3: 2009/07/04(土)13:05 ID:20ztUasx(3/5) AAS
○ スキン
部品化されている (スキンの数が多い)
独自タグを使用
詳細は
外部リンク[html]:cafemilk.milkcafe.to

○ プラグイン
execute型とplugin型に分かれている
省7
4: 2009/07/04(土)13:07 ID:20ztUasx(4/5) AAS
○ 管理画面
管理者の権限を設定できる
(たとえば商品登録の権限を持つ者は個人情報に一切アクセスできないというように)

管理者掲示板(マルチカテゴリマルチスレッド)
管理者管理
ショップ管理
顧客管理
省6
5: 2009/07/04(土)13:09 ID:20ztUasx(5/5) AAS
○ その他
掲示板
外部リンク[cgi]:cafemilk.milkcafe.to

CAFEMILK ショッピングカート CGI におけるクロスサイトスクリプティングの脆弱性
外部リンク[html]:jvn.jp

以上
6
(1): 2009/07/04(土)16:14 ID:+jHLTsUP(1) AAS
> ○ 価格
> 購入 50,000円

安いの?
7: 2009/07/04(土)17:49 ID:q37Gl+Xz(1) AAS
>>6
大手よりはかなり安い

EC-CUBE
252,000円
外部リンク[php]:www.ec-cube.net

ONE/DEPO
787,500円
省3
8: 2009/07/06(月)22:41 ID:zLo2/6FQ(1) AAS
共用鯖で使う分には手間が省けていいんじゃないの
9: 2009/07/07(火)11:39 ID:??? AAS
サプルショップがダサいから誰も利用しない。
10: 2009/07/08(水)12:39 ID:eYgONTUf(1) AAS
見た瞬間萎えるな

よいもの作ったのなら見せ方も考えないと
ちょっと手を加えれば大化けするだろうに
11: 2009/07/10(金)18:14 ID:??? AAS
悪い方に化けるんだろ
12: 2009/07/11(土)13:10 ID:??? AAS
どこかの表を参考につくってみた。
やっつけなので無責任・無保証。

CUBE/Zen/OSC/CAFEMILK

○○○○ テンプレート
○×△△ モバイル
○××○ ニュース・新着情報
○×△○ ゲスト購入
省10
13: 2009/07/11(土)13:12 ID:??? AAS
CUBE/Zen/OSC/CAFEMILK

×○×× ダウンロード販売
×○×○ 商品タイプ別設定
○○×○ 商品属性別在庫管理
○××○ 関連商品
△○○○ 新着商品
△○○× 入荷予定商品
省6
14: 2009/07/11(土)13:14 ID:??? AAS
CUBE/Zen/OSC/CAFEMILK

△×△○ SEO・静的URL
○××× RSS機能
○××× トラックバック
×××× お気に入り登録/ブックマーク
○×△○ ポイント
×××× プレゼント
省9
15: 2009/07/11(土)22:08 ID:i2nacIrD(1) AAS
CAFEMILK省いてDEPO入れたら表が完成するな
16: 2009/07/15(水)22:12 ID:??? AAS
何か追加したいと思ったときは、なんでもプラグインという仕様のおかけで作業が簡単だと思った。
しかしコーディングになんか癖があると思うのはオレだけだろうか?
すでにできあがっているものを変えようなどと思うとちょっと書き換えがしにくい。
17: 2009/07/16(木)02:04 ID:??? AAS
if文とか変だよな
18: 2009/07/16(木)11:59 ID:a1UEBT29(1) AAS
慣れればいいんじゃないか
こっちのほうが楽かもしれないし

普通
if (なんとかかんとか) {
ああしたこうした
} else {
にょろ〜ん
省10
19: 2009/07/19(日)04:46 ID:??? AAS
これがショッピングカート?
どう見てもECパッケージですが。
20: 2009/07/20(月)11:38 ID:dO1TPAcY(1) AAS
2009.07.20 V5.1.4がリリースされました。
21: 2009/07/20(月)18:49 ID:??? AAS
■ 簡易導入法

1.だうんろーど
本体
外部リンク[html]:cafemilk.milkcafe.to
AJAXZIP2
外部リンク[html]:www.kawa.net

2.ふぁいる統合作業
省6
22
(1): 2009/07/20(月)18:53 ID:??? AAS
3.せってい
config_common.plを開いて以下の値を編集
$config->{path}{cgi_to_html} = '外部リンク:example.jp # home/shop URLパス
$config->{path}{cgi_to_file} = './shop/'; # home/shop # home/shop サーバ内相対パス
$config->{url}{root} = '外部リンク:example.jp # home URLパス
$config->{url}{sslroot} = '外部リンク:example.jp # home URLパス
$config->{url}{imageroot} = '外部リンク:example.jp # home/shop URLパス
省4
23: 2009/07/20(月)18:57 ID:??? AAS
5.あかうんとさくせい
main.cgi?execute=admin_gateにアクセス
administer : administer でログイン
新規に管理者管理権限を持つアカウントを作成
ログアウト
新しいアカウントでログイン
administerアカウントを削除
省4
24: 2009/07/20(月)19:03 ID:??? AAS
7.そのた
スキン制作やカスタマイズ時にはかならず以下の作業を行う。(重要)
main.cgiのuse CGI::Carp qw(fatalsToBrowser);のコメントをはずす。
config_basic.plの以下の設定値を全部1にする。
$config->{sendmail}{notice}{error} = '0'; # 0 ONLY
$config->{sendmail}{notice}{alert} = '0'; # 0 ONLY
$config->{test}{show_log_error} = '0'; # 0 ONLY
省3
25: 2009/07/20(月)20:06 ID:??? AAS
>>22
>$config->{url}{sslroot} = '外部リンク:example.jp # home URLパス
SSL対応なの?安いのが売りなら共有SSLも当然対応?
26: 2009/07/22(水)21:12 ID:??? AAS
■ コントローラ (main.cgi)

(MVCのCをmain.cgiが担う)
フォーム等のリクエストはすべてmain.cgi宛てとなる

[main.cgiの仕事]
クッキーの読み込み
 セッションの処理
  自己診断 内容に不正があれば排除等の処理
省20
27: 2009/07/23(木)03:01 ID:??? AAS
■ テンプレートエンジン

基本的に3種類
HTMLテンプレートエンジン
 コントローラ (cafemilk_template_html.pl)
 本体 (cafemilk_skin_html.pl)
 タグ処理 (cafemilk_tag_html.pl)
MAILテンプレートエンジン
省4
28: 2009/07/23(木)03:05 ID:??? AAS
コントローラ
 テンプレートエンジン本体の各機能を一括して操作する
 基本的に、main.cgi経由でのexecuteからの要求を受けて、
  スキンを取得しろとかプラグインを実行しろとかタグを置き換えよとか本体に言う
 コントローラは直接WORDLISTにアクセスできない
  →executeかpluginを経由すればOK
本体
省14
29: 2009/07/23(木)13:45 ID:U4ZiCbfG(1/2) AAS
■ スキン

テンプレートエンジンは難解だがスキン側から見ると単純

HTMLに独自タグを使う
部品化されている

基本的に2種類
プラグインタグ
 pluginを呼び出すタグ
省12
30: 2009/07/23(木)13:47 ID:U4ZiCbfG(2/2) AAS
わかりやすく言うと、
プラグインタグはスキン部品呼び出し(そのうえプログラムを実行できる→自由度が高い)
テンプレートタグは要素(文字列など)呼び出し(スキン部品の呼び出しやプログラムの実行はできない)

どちらにもオプションをつけることができる
<####hoge:a:b:e:c####>

foreachなどの命令文は一切ない
→そのへんはexecuteかpluginにやらせる
31: 2009/07/25(土)21:54 ID:EVQjpFBn(1) AAS
>>1です

ZENでショップにトロイを仕込まれるトラブルが発生してます。
CSRF脆弱性を突いてアップロードされたそうです。
自動ツールで攻撃されているようで、被害は多数に及んでいるはずです。
大半のショップは問題に気づいていないでしょう。恐ろしいことです。
外部リンク[php]:zen-cart.jp

CAFEMILKでは
省7
32: 2009/07/25(土)21:57 ID:PUE3LKWG(1) AAS
CAFEMILKは、既存の脆弱性についてはすべてについて入念に対応したと
公言しています。
その内容は上に書いたとおりで、なかなかよくやっていると思います。
33: 2009/07/25(土)21:59 ID:BwZLCaSC(1) AAS
すいません
既存の > 既知の
でした。
34: 2009/07/25(土)22:03 ID:??? AAS
>>1 って作者?
35: 2009/07/27(月)01:31 ID:??? AAS
CSRFなんて昔は気にされていなかったものだしあとから対応ってことが難しいからここのような後発の製品に強みがあるんだな
一般にショッピングカートと名がついているものの大半はCSRFなんか放置してるだろうに
いまCSRFに対する完全な防御を謳っている製品がどんだけあるだろうか
36: 2009/07/27(月)12:43 ID:??? AAS
■ サブルーチン(など)のルール

サブルーチンの呼び出しは以下のようにして行うとルール化されている

[呼び出す側]
パッケージ名::サブルーチン名
 ({
 config => $config,
 userdata => $userdata,
省15
37: 2009/07/27(月)12:45 ID:??? AAS
オブジェクト方式についてもだいたい同様

[例]
my $database = Cafemilk_database_log->connect
 ({
 config => $config,
 userdata => $userdata,
 log_error => $log_error,
省11
38
(1): 2009/07/27(月)12:47 ID:??? AAS
ルールの意味をわかりやすく説明するサンプルコード

my $userdata = {};
$userdata->{test} = 1; ← ? 格納した情報を
require 'test.pl'
Test::testsub
 ({
 config => $config,
省17
39
(1): 2009/07/27(月)12:57 ID:??? AAS
■ CGIモジュール

モジュールCGI.pmは以下のようにして呼び出される

$userdata->{cgi_query} = CGI->new();

こうすることでCGIオブジェクトはdieしなくなるので、どこからでも呼び出して利用できる
(CGI.pmはフォーム関連の環境変数を消してしまうので2度のuseができない)

[例]
my @param_list = $userdata->{cgi_query}->param();
40: 2009/07/27(月)13:01 ID:??? AAS
>>38の訂正 ちょっとだけ

require 'test.pl' > require 'test.pl';
sub test > sub testsub
41: 2009/07/27(月)13:04 ID:??? AAS
>>39 ちょっとだけ

2度のuse > 2度のnew
42: 2009/07/27(月)20:55 ID:??? AAS
このスレの書き込み、なにがしたいんだ?
43: 2009/07/28(火)00:49 ID:??? AAS
誰かがプログラム解析して情報載せてるんだろ
どこかwikiでも紹介したらそちらに行くんじゃ?
44: 2009/07/28(火)01:10 ID:??? AAS
ここはWEBプログラミング板だったよな
45: 2009/07/28(火)18:06 ID:??? AAS
■ データベース

独自のモジュールを使う
CSV形式
エクセルに対応してるらしい
カラム名を指定して操作する

2種類
通常
省5
46: 2009/07/28(火)18:08 ID:??? AAS
基本的な使い方
my $database = Cafemilk_database_basic->connect ← オブジェクト方式connectで呼び出す
 ({
 config => $config,
 userdata => $userdata,
 log_error => $log_error,
 log_alert => $log_alert,
省12
47: 2009/07/28(火)18:15 ID:??? AAS
レコードのマッチングをしたいとき
$database->get_record_all();
$database->match_database
 ({
 column_name => 'カラム名',
 match_word => '値',
 });
省16
48: 2009/07/28(火)18:24 ID:??? AAS
レコードのソートをしたいとき
$database->get_record_all();
$database->sort_database
 ({
 column_name => 'カラム名',
 reverse_mode => '0', ← reverseしない
 sort_mode => 'number_quick', ← number_quickかcharacter_quick
省10
49: 2009/07/28(火)18:28 ID:??? AAS
特定のレコードを削除したいとき
$database->delete_record
 ({
 extract_column_name => 'カラム名', ← ターゲットのレコードを特定するために指定
 extract_column_value => '値', ← ターゲットのレコードを特定するために指定
 });
 → 削除は予約になるのでこのあとoverwriteが必要
省11
50: 2009/07/29(水)13:10 ID:??? AAS
特定のレコード(1件)の抽出
my $extract_database = $database->extract_last_record
 ({
 extract_column_name => 'カラム名',
 extract_column_value => '値',
 });
 → 通常では最初の該当レコードが、ログでは最後の該当レコードが帰ってくる
省20
51: 2009/07/29(水)13:14 ID:??? AAS
その他
get_stack ← レコードの数を返す
double_sort_database ← ダブルソート
set_write_forbid ← (何か問題があったときなど)書込禁止命令
merge_database ← 重複のあるログの統合
(ry
52: 2009/07/30(木)12:02 ID:9vO1Ag/1(1) AAS
DUMMY接続

データベースの待ち時間の低減や多重なアクセスによるロックを防ぐための
DUMMY接続ができる

my @lines = $database->get_extract_database();
undef $database; ← いったんデータベースへの接続を閉じて
my $database = Cafemilk_database_basic->dummy ← ダミー接続を開始する
 ({
省13
53: 2009/07/30(木)16:03 ID:??? AAS
■ データベースの動作速度と商品点数

CSVでデータベースを運用しているのでソートが遅い
つまり運用可能な商品点数はソートの性能で決まる
 → ソートをまともに使用するなら商品点数は1000点くらいが限度のよう
そこで商品のソートは設定で制限されている
 $config->{item_category}{item_sort}{limit} = '100'; ← デフォルトは100点
 → これで5000点くらいまで大丈夫のようだ
54: 2009/08/01(土)00:36 ID:??? AAS
2009.07.31 スキン製作例を掲載しました。
55: 2009/08/04(火)16:09 ID:8qC9FCVp(1) AAS
■ 携帯に対応するには

標準では未対応となっているのですが、実は超簡単です。

1. main.cgiの以下のコメントをはずす

# 端末を判定します。ケータイ端末かPC端末かということを判定します。
# 判定には川崎有亮(かわさきゆうすけ)氏の phone.pl を使用します。
# phone.pl はなるべく最新版を使用するように心がけてください。
# phone.pl 配布元 : 外部リンク[html]:www.kawa.net
省5
56: 2009/08/06(木)05:54 ID:??? AAS
キャリア別に表示するには?

1. config_basicの以下の部分に追記

$config->{list}{device_type} = [qw(web mobile)];

$config->{list}{device_type} = [qw(web mobile ezweb docomo jphone)];

2. cafemilk_cookie.plの以下の部分を修正
if (!$userdata->{agent_type}{type})
省8
57: 2009/08/06(木)05:56 ID:??? AAS
if (!$userdata->{agent_type}{type})
 {
 $userdata->{device_type} = $config->{default}{device_type};
 }
elsif ($userdata->{agent_type}{type} eq 'docomo')
 {
 $userdata->{device_type} = "docomo";
省17
58: 2009/08/06(木)06:13 ID:??? AAS
マルチ端末の話が出たのでおまけ

やろうとおもえば
PCのディスプレイ解像度に合わせた表示もできます

たとえば
$config->{list}{device_type}に PC800 PC1000 PC1200 PC1600 PC1900 といった値を追加して
webスキンからjavascriptでディスプレイの幅を飛ばし
幅の情報から$userdata->{device_type}を設定するようにする
省1
59: 2009/08/06(木)06:24 ID:??? AAS
さらにおまけ

同じような感覚でマルチ言語もできるはず
$userdata->{language_type}を使う

同じような感覚でマルチスキンを使って表示の切り替えも(ry
$userdata->{template_type}を使う
季節ごととか時間ごととかてきとうに
60: 2009/08/07(金)00:46 ID:??? AAS
なにげに拡張性高杉
61: 2009/08/09(日)03:10 ID:??? AAS
■ OEM販売

独自カスタマイズ品を自社製品として販売することが可能というもの。
「諸事情」のある企業向けだということ。

価格表がすごい

数量 価格 単価
1 100,000 100,000
2 180,000 90,000
省6
62: 2009/08/09(日)03:14 ID:??? AAS
■ 現在まで判明している製品のバグ

カート内容の復活
カートをクリアしたあと会員ログインを行うか会員登録を行うか問い合わせ
を行うとカートの内容が復活してしまうことがある。

メールのデコード処理
自動発行メールにて顧客が入力した“&”の文字が“&”になるなど、
一部文字についてデコード処理が行われていない。
省5
63: 2009/08/09(日)03:16 ID:??? AAS
全角に訂正

自動発行メールにて顧客が入力した“&”の文字が“&amp;”になるなど、
一部文字についてデコード処理が行われていない。
64: 2009/08/09(日)14:59 ID:mmb4vJxL(1) AAS
1000個買って立派なスキン載せて1万で売ったら800万の利益……
65: 2009/08/09(日)15:20 ID:??? AAS
これって
中小のWEB制作会社が自社開発のふりをして顧客に納品するんだろうな
66: 2009/08/13(木)13:20 ID:??? AAS
V5.1.5リリースの準備がほぼ終わったところです。
簡易バックアップの実装に加えて、ブログがHTMLエディタに対応します。
67: 2009/08/14(金)17:54 ID:HASTvfEn(1) AAS
本日、V5.1.5をリリースしました。
簡易バックアップの機能を実装しました
ブログがHTMLエディタ対応になって編集しやすくなりました。

これはopenWYSIWYGを使ってますね
68: 2009/08/16(日)06:56 ID:??? AAS
本人なのか第三者なのか、わからん口調だなぁ・・・
69: 2009/08/16(日)14:58 ID:??? AAS
リリース情報は公式からのコピペだよ
70: 2009/08/19(水)14:05 ID:E4giVJcR(1) AAS
V5.1.6ではおもに以下のような変更が予定されています。

1. ケータイ端末への対応
71: 2009/08/20(木)01:44 ID:ay9S4Px5(1) AAS
いちいち報告しなくていいよ
72: 2009/08/29(土)12:11 ID:kpDWlVo+(1) AAS
カスタマイズ性は高そうだけど、勉強コストが死ぬほど掛かりそうだな。
「業者が小規模ECをOEMで大量に請け負う」という用途に特化すると活躍しそうだけど、
ちょっとカスタマイズしてみるというのは荷が重いなぁ。
73: 2009/08/29(土)14:09 ID:??? AAS
そんなあなたにはEC-CUBEですよ!
74: 2009/08/29(土)15:41 ID:??? AAS
これは何だ?
外部リンク:cafemilk.milkcafe.to
75: 2009/09/01(火)17:57 ID:??? AAS
何この明らかな宣伝スレ
76: 2009/09/02(水)17:18 ID:/bsIaaKn(1) AAS
発想を変えるんだ!
>>1-63はテンプレに違いない!
77: 2009/09/05(土)10:02 ID:YIqkwmYO(1) AAS
タイトル : Re: [開発]V5.1.6関連の情報
記事No : 93 [関連記事]
投稿日 : 2009/09/05(Sat) 00:11
投稿者 : cafemilk

本日、V5.1.6をリリースしました。

ケータイ端末に対応しました。

ケータイ端末への対応は、これまで無効にしていた端末判定の処理を有効に
省2
78: 2009/09/05(土)10:40 ID:??? AAS
宣伝きめえ必死だな
79: 2009/09/07(月)03:09 ID:??? AAS
これはひどいw
80: 2009/09/08(火)01:54 ID:RMrK+puP(1) AAS
携帯用スキンに問題があったようですね
早速差分が出てます

しかし告知はされていないような
81: 2009/09/08(火)03:30 ID:??? AAS
告知がなければ貼ることもできないという壮大な罠
1-
あと 32 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.451s*