09/07/04 13:03:59 20ztUasx.net
柔軟性の高いテンプレートとプラグインで高度なネットショップが比較的安価に構築できる
CAFEMILK SHOPPING CART V5 について。
○ 公式
URLリンク(cafemilk.milkcafe.to)
サンプル
URLリンク(cafemilk.milkcafe.to)
○ 価格
購入 50,000円
リース 1,000円/月 10,000円/年
OEMによる二次販売のプランあり
カスタマイズパッケージプラン 300,000円
30万円で50万円までのカスタマイズ作業を行うというお得なプラン。ただし先払い。
2:nobodyさん
09/07/04 13:04:40 20ztUasx.net
○ 動作環境
Perl5.8以降
Image::Magick推奨
sendmail
DBは必要なし (CSVを使う)
○ 特徴
プラグイン&スキン
マルチ端末マルチ言語
会員機能
ポイント発行
伝票発行
メール配信
関連商品
ブログパーツ
簡易ブログ
……など
参考
URLリンク(cafemilk.milkcafe.to)
3:nobodyさん
09/07/04 13:05:49 20ztUasx.net
○ スキン
部品化されている (スキンの数が多い)
独自タグを使用
詳細は
URLリンク(cafemilk.milkcafe.to)
○ プラグイン
execute型とplugin型に分かれている
execute型
リクエストに応じて実行処理とスキン呼び出しとpluginの実行を行う
plugin型
executeの要求に応じて実行処理とスキン呼び出しとpluginの実行を行う (→plugin型は繰り返し呼び出せる)
○ データベース
エクセル対応形式カンマ区切りCSV (文字コードはUTF-8)
CSVだがカラム名を指定して運用できる仕組み
4:nobodyさん
09/07/04 13:07:35 20ztUasx.net
○ 管理画面
管理者の権限を設定できる
(たとえば商品登録の権限を持つ者は個人情報に一切アクセスできないというように)
管理者掲示板(マルチカテゴリマルチスレッド)
管理者管理
ショップ管理
顧客管理
会員機能
ポイント機能
メール配信
各種伝票の印刷
商品管理
ブログ管理
5:nobodyさん
09/07/04 13:09:01 20ztUasx.net
○ その他
掲示板
URLリンク(cafemilk.milkcafe.to)
CAFEMILK ショッピングカート CGI におけるクロスサイトスクリプティングの脆弱性
URLリンク(jvn.jp)
以上
6:nobodyさん
09/07/04 16:14:10 +jHLTsUP.net
> ○ 価格
> 購入 50,000円
安いの?
7:nobodyさん
09/07/04 17:49:40 q37Gl+Xz.net
>>6
大手よりはかなり安い
EC-CUBE
252,000円
URLリンク(www.ec-cube.net)
ONE/DEPO
787,500円
URLリンク(www.onedepo.jp)
比較の対象が間違ってるかもしれないけどね。
低価格な分、やはり機能的にはいろいろと差があるんじゃないかと。
8:nobodyさん
09/07/06 22:41:38 zLo2/6FQ.net
共用鯖で使う分には手間が省けていいんじゃないの
9:nobodyさん
09/07/07 11:39:19 .net
サプルショップがダサいから誰も利用しない。
10:nobodyさん
09/07/08 12:39:50 eYgONTUf.net
見た瞬間萎えるな
よいもの作ったのなら見せ方も考えないと
ちょっと手を加えれば大化けするだろうに
11:nobodyさん
09/07/10 18:14:25 .net
悪い方に化けるんだろ
12:nobodyさん
09/07/11 13:10:02 .net
どこかの表を参考につくってみた。
やっつけなので無責任・無保証。
CUBE/Zen/OSC/CAFEMILK
○○○○ テンプレート
○×△△ モバイル
○××○ ニュース・新着情報
○×△○ ゲスト購入
×○○○ 複数言語対応
△○○○ ぱんくず表示
×××× カレンダー
○××○ 会員退会
○××○ 郵便番号による自動住所入力
×××○ FAQ
○××× アンケート
××△× Wishlist
×○○× 友達に教える
×××× 複数配送先指定
13:nobodyさん
09/07/11 13:12:01 .net
CUBE/Zen/OSC/CAFEMILK
×○×× ダウンロード販売
×○×○ 商品タイプ別設定
○○×○ 商品属性別在庫管理
○××○ 関連商品
△○○○ 新着商品
△○○× 入荷予定商品
×××× 参照履歴/最近見た商品
△××△ 商品画像拡大
○○△× 売れ筋ランキング・ベストセラー
○○△× おすすめ商品
○○○× 特価商品・セール
○○○× 商品レビュー
14:nobodyさん
09/07/11 13:14:18 .net
CUBE/Zen/OSC/CAFEMILK
△×△○ SEO・静的URL
○××× RSS機能
○××× トラックバック
×××× お気に入り登録/ブックマーク
○×△○ ポイント
×××× プレゼント
×○○× 「この商品を買った人はこの商品も買っています」のリコメンド機能
×△×△ アフィリエイト
×○×× クーポン・ギフト券
○×△× 商品一括登録
○×△× 注文管理・注文検索
○×△○ 顧客管理・顧客検索
○×△○ メールテンプレート・予約配信
○○○× レポート・売上集計
×○○× バナー広告管理機能
15:nobodyさん
09/07/11 22:08:12 i2nacIrD.net
CAFEMILK省いてDEPO入れたら表が完成するな
16:nobodyさん
09/07/15 22:12:30 .net
何か追加したいと思ったときは、なんでもプラグインという仕様のおかけで作業が簡単だと思った。
しかしコーディングになんか癖があると思うのはオレだけだろうか?
すでにできあがっているものを変えようなどと思うとちょっと書き換えがしにくい。
17:nobodyさん
09/07/16 02:04:40 .net
if文とか変だよな
18:nobodyさん
09/07/16 11:59:20 a1UEBT29.net
慣れればいいんじゃないか
こっちのほうが楽かもしれないし
普通
if (なんとかかんとか) {
ああしたこうした
} else {
にょろ~ん
}
CAFEMILK
if (なんとかかんとか)
{
ああしたこうした
}
else
{
にょろ~ん
}
19:nobodyさん
09/07/19 04:46:05 .net
これがショッピングカート?
どう見てもECパッケージですが。
20:nobodyさん
09/07/20 11:38:57 dO1TPAcY.net
2009.07.20 V5.1.4がリリースされました。
21:nobodyさん
09/07/20 18:49:41 .net
■ 簡易導入法
1.だうんろーど
本体
URLリンク(cafemilk.milkcafe.to)
AJAXZIP2
URLリンク(www.kawa.net)
2.ふぁいる統合作業
設置ディレクトリ作成
設置ディレクトリに「cgi-bin」内ファイルをコピー
設置ディレクトリに「統合ファイル」内ファイルをコピー
設置ディレクトリにディレクトリ「shop」を作成
ディレクトリ「shop」に「public_html」内ファイルをコピー
ディレクトリ「ajaxzip2」にAJAXZIP2をコピー
22:nobodyさん
09/07/20 18:53:27 .net
3.せってい
config_common.plを開いて以下の値を編集
$config->{path}{cgi_to_html} = 'URLリンク(example.jp)'; # home/shop URLパス
$config->{path}{cgi_to_file} = './shop/'; # home/shop # home/shop サーバ内相対パス
$config->{url}{root} = 'URLリンク(example.jp)'; # home URLパス
$config->{url}{sslroot} = 'URLリンク(example.jp)'; # home URLパス
$config->{url}{imageroot} = 'URLリンク(example.jp)'; # home/shop URLパス
main.cgiとrf.cgiのPERLのパスを書き換える
4.どうさかくにん
URLリンク(example.jp)にアクセス
起動したらOK
23:nobodyさん
09/07/20 18:57:26 .net
5.あかうんとさくせい
main.cgi?execute=admin_gateにアクセス
administer : administer でログイン
新規に管理者管理権限を持つアカウントを作成
ログアウト
新しいアカウントでログイン
administerアカウントを削除
6.ちゅういてん
バージョンアップの際にすべてのファイルを上書きすると
設定が初期値に戻り、
商品や会員などのデータベースが消えてしまうので注意。
24:nobodyさん
09/07/20 19:03:16 .net
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
$config->{test}{show_log_alert} = '0'; # 0 ONLY
これで各種エラーの報告が出るようになります。
ただし運用時には戻しておくこと。
25:nobodyさん
09/07/20 20:06:41 .net
>>22
>$config->{url}{sslroot} = 'URLリンク(example.jp)'; # home URLパス
SSL対応なの?安いのが売りなら共有SSLも当然対応?
26:nobodyさん
09/07/22 21:12:47 .net
■ コントローラ (main.cgi)
(MVCのCをmain.cgiが担う)
フォーム等のリクエストはすべてmain.cgi宛てとなる
[main.cgiの仕事]
クッキーの読み込み
セッションの処理
自己診断 内容に不正があれば排除等の処理
リクエストの取得
自己診断 内容に不正があれば排除等の処理
ログイン・ログアウト要求があれば処理
リクエストにしたがってexecuteを発行
execute(execute型プラグイン)へexecuteの自己診断を依頼 (execute実行1/3) (executeはMVCのM(モデル))
自己診断が問題を発見した場合はその内容にしたがってexecuteの差し替えを行う
executeへ実行を依頼 (executeの実行2/3)
データベースなどいろいろ処理
テンプレートエンジンへウェブ出力作成を依頼 (テンプレートエンジンMVCのV(ビュー))
pulugin(pulugin型プラグイン)実行要求があればプラグインを実行
puluginもデータベースなどいろいろ処理
executeへ終了処理を依頼 (executeの実行3/3)
クッキーの発行
ウェブ出力の発行
終了
コントローラの作りはなかなかシンプル
やたらと自己診断を行う
→不正内容と判断されたものはだいたい消去される
→独自に入力欄などを作成してもその入力内容が消されたりするので注意
→消されるリクエストは設定にて許可を行う必要がある
27:nobodyさん
09/07/23 03:01:50 .net
■ テンプレートエンジン
基本的に3種類
HTMLテンプレートエンジン
コントローラ (cafemilk_template_html.pl)
本体 (cafemilk_skin_html.pl)
タグ処理 (cafemilk_tag_html.pl)
MAILテンプレートエンジン
本体 (cafemilk_skin_mail.pl)
タグ処理 (cafemilk_tag_mail.pl)
WORDLIST
ワードリスト取得
28:nobodyさん
09/07/23 03:05:07 .net
コントローラ
テンプレートエンジン本体の各機能を一括して操作する
基本的に、main.cgi経由でのexecuteからの要求を受けて、
スキンを取得しろとかプラグインを実行しろとかタグを置き換えよとか本体に言う
コントローラは直接WORDLISTにアクセスできない
→executeかpluginを経由すればOK
本体
要求に応えてスキンを取得する
要求に応えてプラグインを実行する
要求に応えてタグを置換する
execute内部やplugin内部でのテンプレート処理ではコントローラを呼び出さず、内蔵する
つまりexecuteやpluginは本体を直接操作している
この辺の関係(メール送信はexecute内部から行われる)でMAILにコントローラは存在しない
タグ処理
本体の要求にしたがって各種独自タグの値を返す
WORDLIST
単語や文章のリストを取得
たとえば日付表示に使う「年」「月」「日」など
テンプレートエンジンの動作は難解
テンプレートエンジンがpluginを呼び出す→pluginはコントローラを内蔵する
→つまりテンプレートエンジンは入れ子状あるいはツリー状に繰り返し実行される
29:nobodyさん
09/07/23 13:45:14 U4ZiCbfG.net
■ スキン
テンプレートエンジンは難解だがスキン側から見ると単純
HTMLに独自タグを使う
部品化されている
基本的に2種類
プラグインタグ
pluginを呼び出すタグ
→pluginはスキンにて呼び出しを要求するという仕様
テンプレートタグ
各種要素を出力する
それぞれに高層中層低層がある
<######hoge######> 高層プラグインタグ
<#####hoge#####> 中層プラグインタグ
<####hoge####> 低層プラグインタグ
<###hoge###> 高層テンプレートタグ
<##hoge##> 中層テンプレートタグ
<#hoge#> 低層テンプレートタグ
#が多いほど実行優先順位が高い
→必要に応じて優先順位を割り当てられる
30:nobodyさん
09/07/23 13:47:17 U4ZiCbfG.net
わかりやすく言うと、
プラグインタグはスキン部品呼び出し(そのうえプログラムを実行できる→自由度が高い)
テンプレートタグは要素(文字列など)呼び出し(スキン部品の呼び出しやプログラムの実行はできない)
どちらにもオプションをつけることができる
<####hoge:a:b:e:c####>
foreachなどの命令文は一切ない
→そのへんはexecuteかpluginにやらせる
31:nobodyさん
09/07/25 21:54:01 EVQjpFBn.net
>>1です
ZENでショップにトロイを仕込まれるトラブルが発生してます。
CSRF脆弱性を突いてアップロードされたそうです。
自動ツールで攻撃されているようで、被害は多数に及んでいるはずです。
大半のショップは問題に気づいていないでしょう。恐ろしいことです。
URLリンク(zen-cart.jp)
CAFEMILKでは
CSRF脆弱性は独自の「実行リクエスト保護多重セッション」によって防止
されている
アップロードされたファイルのMIMEタイプを読んで決められたMIMEタイプ
のみのアップロードを受け付けている
アップロードはアップロードが許可されたディレクトリにしか実施できない
アップロードしたファイルには設定で決められた拡張子しかつかない
などの入念な対策が講じられています。
32:nobodyさん
09/07/25 21:57:17 PUE3LKWG.net
CAFEMILKは、既存の脆弱性についてはすべてについて入念に対応したと
公言しています。
その内容は上に書いたとおりで、なかなかよくやっていると思います。
33:nobodyさん
09/07/25 21:59:54 BwZLCaSC.net
すいません
既存の > 既知の
でした。
34:nobodyさん
09/07/25 22:03:07 .net
>>1 って作者?
35:nobodyさん
09/07/27 01:31:14 .net
CSRFなんて昔は気にされていなかったものだしあとから対応ってことが難しいからここのような後発の製品に強みがあるんだな
一般にショッピングカートと名がついているものの大半はCSRFなんか放置してるだろうに
いまCSRFに対する完全な防御を謳っている製品がどんだけあるだろうか
36:nobodyさん
09/07/27 12:43:16 .net
■ サブルーチン(など)のルール
サブルーチンの呼び出しは以下のようにして行うとルール化されている
[呼び出す側]
パッケージ�
37:シ::サブルーチン名 ({ config => $config, userdata => $userdata, log_error => $log_error, log_alert => $log_alert, status => $status, そのたの情報 }); [呼び出される側] sub サブルーチン名 { my $argument = shift; my $config = $argument->{config}; my $userdata = $argument->{userdata}; my $log_error = $argument->{log_error}; my $log_alert = $argument->{log_alert}; my $status = $argument->{status}; 上記のルールを守ることにより、設定や各種の重要な情報を常に保持することができる
38:nobodyさん
09/07/27 12:45:24 .net
オブジェクト方式についてもだいたい同様
[例]
my $database = Cafemilk_database_log->connect
({
config => $config,
userdata => $userdata,
log_error => $log_error,
log_alert => $log_alert,
status => $status,
column_filename => 'database/item_column_list.csv',
column_separator => ',',
database_filename => 'database/item_news',
database_separator => ',',
record_stack => $config->{database}{session_stack}{item}{news},
});
$database->postscript(\%record);
undef $database;
マニュアルにもうすこし詳しい情報があるので参照。
39:nobodyさん
09/07/27 12:47:23 .net
ルールの意味をわかりやすく説明するサンプルコード
my $userdata = {};
$userdata->{test} = 1; ← ① 格納した情報を
require 'test.pl'
Test::testsub
({
config => $config,
userdata => $userdata,
log_error => $log_error,
log_alert => $log_alert,
status => $status,
});
print $userdata->{test}; ← 出力は 2 ④ サブルーチン内で書き換えた内容がちゃんと保持されている
exit;
sub test
{
my $argument = shift;
my $config = $argument->{config};
my $userdata = $argument->{userdata}; ← ② サブルーチン内のローカル変数に格納して
my $log_error = $argument->{log_error};
my $log_alert = $argument->{log_alert};
my $status = $argument->{status};
$userdata->{test} = 2; ← ③ 書き換えているが
}
40:nobodyさん
09/07/27 12:57:27 .net
■ CGIモジュール
モジュールCGI.pmは以下のようにして呼び出される
$userdata->{cgi_query} = CGI->new();
こうすることでCGIオブジェクトはdieしなくなるので、どこからでも呼び出して利用できる
(CGI.pmはフォーム関連の環境変数を消してしまうので2度のuseができない)
[例]
my @param_list = $userdata->{cgi_query}->param();
41:nobodyさん
09/07/27 13:01:32 .net
>>38の訂正 ちょっとだけ
require 'test.pl' > require 'test.pl';
sub test > sub testsub
42:nobodyさん
09/07/27 13:04:51 .net
>>39 ちょっとだけ
2度のuse > 2度のnew
43:nobodyさん
09/07/27 20:55:02 .net
このスレの書き込み、なにがしたいんだ?
44:nobodyさん
09/07/28 00:49:04 .net
誰かがプログラム解析して情報載せてるんだろ
どこかwikiでも紹介したらそちらに行くんじゃ?
45:nobodyさん
09/07/28 01:10:47 .net
ここはWEBプログラミング板だったよな
46:nobodyさん
09/07/28 18:06:54 .net
■ データベース
独自のモジュールを使う
CSV形式
エクセルに対応してるらしい
カラム名を指定して操作する
2種類
通常
商品や会員などを扱う
ログ
レコードの操作があまりできない 読込と追記専門
ローテーションする → 古いレコードは消えていく
データベース操作の方法が特殊で、SQLインジェクションのような脆弱性は考えにくい
47:nobodyさん
09/07/28 18:08:15 .net
基本的な使い方
my $database = Cafemilk_database_basic->connect ← オブジェクト方式connectで呼び出す
({
config => $config,
userdata => $userdata,
log_error => $log_error,
log_alert => $log_alert,
status => $status,
column_filename => 'database/item_column_list.csv', ← カラム名の情報
column_separator => ',',
database_filename => 'database/item.csv.cgi', ← データベース本体
database_separator => ',',
database_mode => '+<',
database_flock => $flock, ← ファイルロックはFLOCK
});
$database->get_record_all(); ← データベースの情報をすべて取得(予約)
my @lines = $database->get_extract_database(); ← 取得(予約)した情報を取り出し
このへんにいろいろと処理
undef $database; ← 終了
48:nobodyさん
09/07/28 18:15:04 .net
レコードのマッチングをしたいとき
$database->get_record_all();
$database->match_database
({
column_name => 'カラム名',
match_word => '値',
});
my @lines = $database->get_extract_database();
レコードのサーチをしたいとき
$database->get_record_all();
my @columns =
(
"サーチしたいカラム1",
"サーチしたいカラム2",
"サーチしたいカラム3",
);
$database->search_database
({
search_column => \@columns, ← 複数のカラムをまたがって検索できる
search_words => $words, ← 半角スペースで区切って複数語検索が可能
character_mode => '1', ← 大文字小文字の区別をしない場合
});
my @lines = $database->get_extract_database();
49:nobodyさん
09/07/28 18:24:32 .net
レコードのソートをしたいとき
$database->get_record_all();
$database->sort_database
({
column_name => 'カラム名',
reverse_mode => '0', ← reverseしない
sort_mode => 'number_quick', ← number_quickかcharacter_quick
});
my @lines = $database->get_extract_database();
特定のレコードを差し替えたいとき
$database->replace_record
({
extract_column_name => 'カラム名', ← ターゲットのレコードを特定するために指定
extract_column_value => '値', ← ターゲットのレコードを特定するために指定
records => \%record, ← 特定されたレコードに\%recordが書き込まれる
});
→ 差し替えは予約になるのでこのあとoverwriteが必要
50:nobodyさん
09/07/28 18:28:03 .net
特定のレコードを削除したいとき
$database->delete_record
({
extract_column_name => 'カラム名', ← ターゲットのレコードを特定するために指定
extract_column_value => '値', ← ターゲットのレコードを特定するために指定
});
→ 削除は予約になるのでこのあとoverwriteが必要
操作したデータベースを格納(予約)
$database->set_extract_database
({
extract_database => \@lines,
});
格納(予約)したものを上書き
$database->overwrite();
→ 格納(予約)しなければmatch search sort replaceされたものを上書き
追記したいとき
$database->postscript(\%record);
→ 予約せずに、また予約があってもそれを無視して追記を行う
51:nobodyさん
09/07/29 13:10:49 .net
特定のレコード(1件)の抽出
my $extract_database = $database->extract_last_record
({
extract_column_name => 'カラム名',
extract_column_value => '値',
});
→ 通常では最初の該当レコードが、ログでは最後の該当レコードが帰ってくる
レコードの内容の取得
→レコードの内容をいろいろ操作するために必要
my @lines = $database->get_extract_database();
foreach my $line (@lines)
{
my %target_values = $database->get_values_argument
({
database_values => $line,
});
いろいろ処理
# print $target_values{hoge}; ← カラム名で値を参照できる
# レコードの内容を変えたい場合
# $target_values{hoge} += 1000; ← 値を変更
# $database->replace_record ← 差し替え ← あとでoverwriteが必要なので注意
# ({
# extract_column_name => 'カラム名',
# extract_column_value => '値',
# records => \%target_values,
# });
}
52:nobodyさん
09/07/29 13:14:27 .net
その他
get_stack ← レコードの数を返す
double_sort_database ← ダブルソート
set_write_forbid ← (何か問題があったときなど)書込禁止命令
merge_database ← 重複のあるログの統合
(ry
53:nobodyさん
09/07/30 12:02:02 9vO1Ag/1.net
DUMMY接続
データベースの待ち時間の低減や多重なアクセスによるロックを防ぐための
DUMMY接続ができる
my @lines = $database->get_extract_database();
undef $database; ← いったんデータベースへの接続を閉じて
my $database = Cafemilk_database_basic->dummy ← ダミー接続を開始する
({
config => $config,
userdata => $userdata,
log_error => $log_error,
log_alert => $log_alert,
status => $status,
column_filename => 'database/item_column_list.csv',
column_separator => ',',
database_separator => ',',
});
$database->set_extract_database
({
extract_database => \@lines,
});
54:nobodyさん
09/07/30 16:03:06 .net
■ データベースの動作速度と商品点数
CSVでデータベースを運用しているのでソートが遅い
つまり運用可能な商品点数はソートの性能で決まる
→ ソートをまともに使用するなら商品点数は1000点くらいが限度のよう
そこで商品のソートは設定で制限されている
$config->{item_category}{item_sort}{limit} = '100'; ← デフォルトは100点
→ これで5000点くらいまで大丈夫のようだ
55:nobodyさん
09/08/01 00:36:22 .net
2009.07.31 スキン製作例を掲載しました。
56:nobodyさん
09/08/04 16:09:04 8qC9FCVp.net
■ 携帯に対応するには
標準では未対応となっているのですが、実は超簡単です。
1. main.cgiの以下のコメントをはずす
# 端末を判定します。ケータイ端末かPC端末かということを判定します。
# 判定には川崎有亮(かわさきゆうすけ)氏の phone.pl を使用します。
# phone.pl はなるべく最新版を使用するように心がけてください。
# phone.pl 配布元 : URLリンク(www.kawa.net)
# require './pl/kawasaki/phone.pl';
# $userdata->{agent_type} = &phone_info();
2. あとはスキンを作るだけ
スキンは以下のディレクトリに作成
[cgi-bin/shop/]skin/user/cgi/default/mobile/japanese/yen/default/
57:nobodyさん
09/08/06 05:54:07 .net
キャリア別に表示するには?
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})
{
$userdata->{device_type} = $config->{default}{device_type};
}
else
{
$userdata->{device_type} = "mobile";
}
↓
58:nobodyさん
09/08/06 05:56:20 .net
if (!$userdata->{agent_type}{type})
{
$userdata->{device_type} = $config->{default}{device_type};
}
elsif ($userdata->{agent_type}{type} eq 'docomo')
{
$userdata->{device_type} = "docomo";
}
elsif ($userdata->{agent_type}{type} eq 'ezweb')
{
$userdata->{device_type} = "ezweb";
}
elsif ($userdata->{agent_type}{type} eq 'jphone')
{
$userdata->{device_type} = "jphone";
}
else
{
$userdata->{device_type} = "mobile";
}
3. スキン作る
[cgi-bin/shop/]skin/user/cgi/default/ezweb/japanese/yen/default/
[cgi-bin/shop/]skin/user/cgi/default/docomo/japanese/yen/default/
[cgi-bin/shop/]skin/user/cgi/default/jphone/japanese/yen/default/
59:nobodyさん
09/08/06 06:13:59 .net
マルチ端末の話が出たのでおまけ
やろうとおもえば
PCのディスプレイ解像度に合わせた表示もできます
たとえば
$config->{list}{device_type}に PC800 PC1000 PC1200 PC1600 PC1900 といった値を追加して
webスキンからjavascriptでディスプレイの幅を飛ばし
幅の情報から$userdata->{device_type}を設定するようにする
という具合でたぶんOK。(無保証)
60:nobodyさん
09/08/06 06:24:27 .net
さらにおまけ
同じような感覚でマルチ言語もできるはず
$userdata->{language_type}を使う
同じような感覚でマルチスキンを使って表示の切り替えも(ry
$userdata->{template_type}を使う
季節ごととか時間ごととかてきとうに
61:nobodyさん
09/08/07 00:46:32 .net
なにげに拡張性高杉
62:nobodyさん
09/08/09 03:10:27 .net
■ OEM販売
独自カスタマイズ品を自社製品として販売することが可能というもの。
「諸事情」のある企業向けだということ。
価格表がすごい
数量 価格 単価
1 100,000 100,000
2 180,000 90,000
3 240,000 80,000
4 280,000 70,000
5 300,000 60,000
10 500,000 50,000
100 1,000,000 10,000
1000 2,000,000 2,000
63:nobodyさん
09/08/09 03:14:33 .net
■ 現在まで判明している製品のバグ
カート内容の復活
カートをクリアしたあと会員ログインを行うか会員登録を行うか問い合わせ
を行うとカートの内容が復活してしまうことがある。
メールのデコード処理
自動発行メールにて顧客が入力した“&”の文字が“&”になるなど、
一部文字についてデコード処理が行われていない。
商品の数量単位の表示
商品の在庫を指定しなかった場合に数量単位が表示されない
sendまね~るでのサーバーエラー
Windowsサーバにてsendまね~るを使ったメール送信が短時間に連続する
とサーバーエラーが表示されることがある。
64:nobodyさん
09/08/09 03:16:35 .net
全角に訂正
自動発行メールにて顧客が入力した“&”の文字が“&amp;”になるなど、
一部文字についてデコード処理が行われていない。
65:nobodyさん
09/08/09 14:59:00 mmb4vJxL.net
1000個買って立派なスキン載せて1万で売ったら800万の利益……
66:nobodyさん
09/08/09 15:20:19 .net
これって
中小のWEB制作会社が自社開発のふりをして顧客に納品するんだろうな
67:nobodyさん
09/08/13 13:20:43 .net
V5.1.5リリースの準備がほぼ終わったところです。
簡易バックアップの実装に加えて、ブログがHTMLエディタに対応します。
68:nobodyさん
09/08/14 17:54:35 HASTvfEn.net
本日、V5.1.5をリリースしました。
簡易バックアップの機能を実装しました
ブログがHTMLエディタ対応になって編集しやすくなりました。
これはopenWYSIWYGを使ってますね
69:nobodyさん
09/08/16 06:56:02 .net
本人なのか第三者なのか、わからん口調だなぁ・・・
70:nobodyさん
09/08/16 14:58:22 .net
リリース情報は公式からのコピペだよ
71:nobodyさん
09/08/19 14:05:16 E4giVJcR.net
V5.1.6ではおもに以下のような変更が予定されています。
1. ケータイ端末への対応
72:nobodyさん
09/08/20 01:44:28 ay9S4Px5.net
いちいち報告しなくていいよ
73:nobodyさん
09/08/29 12:11:44 kpDWlVo+.net
カスタマイズ性は高そうだけど、勉強コストが死ぬほど掛かりそうだな。
「業者が小規模ECをOEMで大量に請け負う」という用途に特化すると活躍しそうだけど、
ちょっとカスタマイズしてみるというのは荷が重いなぁ。
74:nobodyさん
09/08/29 14:09:49 .net
そんなあなたにはEC-CUBEですよ!
75:nobodyさん
09/08/29 15:41:52 .net
これは何だ?
URLリンク(cafemilk.milkcafe.to)
76:nobodyさん
09/09/01 17:57:46 .net
何この明らかな宣伝スレ
77:nobodyさん
09/09/02 17:18:58 /bsIaaKn.net
発想を変えるんだ!
>>1-63はテンプレに違いない!
78:nobodyさん
09/09/05 10:02:07 YIqkwmYO.net
タイトル : Re: [開発]V5.1.6関連の情報
記事No : 93 [関連記事]
投稿日 : 2009/09/05(Sat) 00:11
投稿者 : cafemilk
本日、V5.1.6をリリースしました。
ケータイ端末に対応しました。
ケータイ端末への対応は、これまで無効にしていた端末判定の処理を有効に
し、そこにケータイ用のスキンを追加しただけで実現しており、V5製品の基
本性能の高さを証明するものとなっています。
79:nobodyさん
09/09/05 10:40:57 .net
宣伝きめえ必死だな
80:nobodyさん
09/09/07 03:09:45 .net
これはひどいw
81:nobodyさん
09/09/08 01:54:12 RMrK+puP.net
携帯用スキンに問題があったようですね
早速差分が出てます
しかし告知はされていないような
82:nobodyさん
09/09/08 03:30:58 .net
告知がなければ貼ることもできないという壮大な罠
83:nobodyさん
09/09/08 14:10:51 .net
ワロタ
84:nobodyさん
09/09/25 15:00:44 zCB6UQag.net
> 2009.09.25 公認マニュアルサイトを掲載しました。
URLリンク(www29.atwiki.jp)
85:nobodyさん
09/09/27 04:14:07 .net
もういいよこの宣伝スレ。
誰か使ってる奴いるの?
86:nobodyさん
09/09/27 11:58:46 .net
とりあえず設置してみたところ(画像以外の)ファイル数が2300ってどうよ?
87:nobodyさん
09/09/27 22:08:05 .net
>>83
公認ってまさか作者以外の人間が作ったの?
>公式の情報より圧倒的に詳しい内容。
URLリンク(www29.atwiki.jp)
作者の自演が酷すぎて泣けてくる
88:nobodyさん
09/09/29 12:46:26 .net
作者ともう一人か二人お手伝いさんがいそうな感じ
89:nobodyさん
10/02/23 00:17:58 ZA8q4HYD.net
買取のカート探してるんだが
下のやつとどっちがいい?
PCtoMobile Cart (ピクトモバイル・カート)
URLリンク(wb-i.net)
買取は58,000円らしい
-2と-Uはもっと高い。
90:nobodyさん
10/02/24 17:46:17 YxkeBYOA.net
ウェブインベーダーのカートは、はじめから精錬されたデザインのスキ
ンがあるので、ほとんどそのまま使うという人向け。
一方CAFEMILKのカートは、スキンは根本から作り、機能もカスタマイズ
しまくるというような人向け。そのままではあまり使えないので導入に
手間がかかるけど、カスタマイズ前提の設計になっているので、ある程
度以上細かくいじるならこちらのほうが手間が少なくなってくる。
91:nobodyさん
10/03/28 08:27:08 .net
ショッピングカートはZen Cartにおまかせ
スレリンク(php板)
92:nobodyさん
10/04/02 12:44:15 ItPxV0+A.net
>>88
いま大騒ぎになってるメッセサンオー個人情報漏洩祭り、
一説によるとこれはウェブインベーダー製品だそうですよ。
これは購入者の個人情報がすべて漏れるようです。
しかもこんな感じでグーグルがキャッシュに貯めてくれるという恐ろしいオマケつき。
URLリンク(www.google.co.jp)
スレリンク(newsplus板)
> 46 :名無しさん@十周年 :2010/04/02(金) 12:11:45 ID:yuMNmN1a0
> このセキュリティ穴だけのcgi、Vectorにあるやつだなw
> URLリンク(wb-i.net) も一致するしこれだろうな
> URLリンク(www.vector.co.jp)
> だれかソフトの評価コメントにメッセサンオーで大好評って書いてあげてw
いまのところウェブインベーダーは何の対応もしていませんね。
93:nobodyさん
10/04/02 12:54:28 ALQDoAbk.net
これですね
URLリンク(wb-i.net)
> 管理画面を呼び出し、パスワードを入力すると、パスワードがア
> ドレスバーに表示される場合があります。これはパスワードをCG
> Iで受け渡ししているためです。それを表示したくないときはフ
> レームを使うことをお勧めいたします。つまり、以下のようなad
> min.htmlを準備します。
> このadmin.htmlを呼び出して管理画面に入ると、CGIのURLは
> 表示されなくなります。
これはひどすぎる。
94:nobodyさん
10/04/02 13:02:06 .net
むちゃくちゃだなw
これを売っていて買うやつがいるのがすげーよ
95:nobodyさん
10/04/02 15:32:48 .net
管理プログラムがGoogleにインデックスされないようにする
URLリンク(mag.wb-i.net)
96:sage
10/06/05 18:07:33 Xz9FjUO1.net
こわいやん
97:nobodyさん
10/07/17 18:20:42 .net
タイトル : [開発]V5.1.7関連の情報
投稿日 : 2010/06/16(Wed) 10:48
投稿者 : CAFEMILK
V5.1.7では主に以下の変更が予定されています。
1. 管理画面のスキン刷新
管理画面のデザインが大幅によくなります。
URLリンク(cafemilk.milkcafe.to)
98:nobodyさん
10/07/17 18:35:15 .net
1ヶ月すぎてるんだな
99:nobodyさん
10/08/22 19:25:04 .net
もうとっくにバージョン出てる
100:nobodyさん
10/09/27 11:59:28 .net
タイトル : [開発]V5.1.8関連の情報
記事No : 240
投稿日 : 2010/09/21(Tue) 20:48
投稿者 : CAFEMILK
V5.1.8では主に以下の変更が予定されています。
1. 標準スキンの刷新
タイトル : Re: [開発]V5.1.8関連の情報
記事No : 242
投稿日 : 2010/09/26(Sun) 12:57
投稿者 : CAFEMILK
本日、V5.1.8をリリースしました。
101:nobodyさん
10/09/27 12:01:23 .net
V5.18でデザインが大幅に変わった
URLリンク(cafemilk.milkcafe.to)
102:nobodyさん
10/10/24 14:00:05 .net
タイトル : [開発]V5.1.9関連の情報
記事No : 247 [関連記事]
投稿日 : 2010/10/22(Fri) 20:44
投稿者 : CAFEMILK
V5.1.9では主に以下の変更が予定されています。
1. MOBILE端末用標準スキンの刷新
タイトル : Re: [開発]V5.1.9関連の情報
記事No : 248 [関連記事]
投稿日 : 2010/10/23(Sat) 18:41
投稿者 : CAFEMILK
本日、V5.1.9をリリースしました。
103:nobodyさん
10/12/25 12:08:14 .net
タイトル : [開発]V5.1.10関連の情報
記事No : 261 [関連記事]
投稿日 : 2010/11/22(Mon) 16:06
投稿者 : CAFEMILK
V5.1.10では主に以下の変更が予定されています。
1. ブログのデータベース処理の変更
ブログのデータベースを変更し、2項以降の機能を実装できるようにします。
2. ブログ記事にタイトルをつけられるようにする
3. 商品情報を省略できるようにする(普通のブログに近くなる)
4. ブログの修正機能の実装
旧バージョンのユーザーはデータベースの手作業での移行が必要となります。(難しくはありません)
タイトル : Re: [開発]V5.1.10関連の情報
記事No : 267 [関連記事]
投稿日 : 2010/12/13(Mon) 13:23
投稿者 : CAFEMILK
本日、V5.1.10をリリースしました。
104:nobodyさん
10/12/25 12:21:42 .net
タイトル : [開発]V5.1.11関連の情報
記事No : 268 [関連記事]
投稿日 : 2010/12/14(Tue) 15:25
投稿者 : CAFEMILK
V5.1.11では主に以下の変更が予定されています。
1. 新着商品のデータベース処理の変更
V5.1.10にてデータベースの仕様を変更したのに合わせて新着商品のデータベース処理を変更します。
旧バージョンのユーザーはデータベースの手作業での移行が必要となりますが、移行が必要なのは新着商品のみですので、放っておいても問題はありません。
タイトル : Re: [開発]V5.1.11関連の情報
記事No : 270 [関連記事]
投稿日 : 2010/12/22(Wed) 10:50
投稿者 : CAFEMILK
昨日、V5.1.11をリリースしました。
105:nobodyさん
11/02/10 08:34:53 .net
3カ月限定完全無料キャンペーン
2011年3月1日から5月31日までに購入手続きをされたショップは
導入店舗内に弊社サイトへのリンクを置くことを条件に
V5製品の購入プラン(永久ライセンス)が無料になります
106:nobodyさん
11/04/08 20:23:47.63 .net
保守
107:nobodyさん
11/04/20 14:17:37.46 thTj9xSe.net
URLリンク(www.google.com)
108:nobodyさん
11/05/15 01:32:41.23 .net
保全
109:nobodyさん
11/06/21 01:02:01.12 .net
保守
110:nobodyさん
11/07/27 17:09:51.62 .net
期間限定完全無料キャンペーン
完全無料キャンペーンの実施期間がさらに3か月延長されました。
2011年6月1日から8月31日までに購入手続きをされたショップは
導入店舗内に弊社サイトへのリンクを置くことを条件に
V5製品の購入プラン(永久ライセンス)が無料になります
111:nobodyさん
11/09/07 05:33:39.63 UfBm8yNe.net
被災者限定完全無料キャンペーン
東日本大震災の罹災者で2011年9月1日から12月31日までに購入手続きをされたショップは
V5製品の購入プラン(永久ライセンス)が無料になります
112:電脳プリオン 忍法帖【Lv=40,xxxPT】(1+0:8) 【17.2m】
13/07/13 NY:AN:NY.AN .net BE:162164328-PLT(12080)
使ったことない
113:nobodyさん
17/12/30 14:39:47.31 YhlYw6jg.net
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
SP8V495MN5
114:nobodyさん
22/09/04 11:37:47.72 +yZQQaSiN
被害者である國民から血税強奪して,加害者て゛あるコ口ナ運び入れてるJÅLだのÅNÅた゛のテ囗リストに金銭供給しまくって
地球破壊して人の生活に必要な灯油電気カ゛ス,鷄卵価格まで高騰させてるのは石油無駄に燃やしまくって需給逼迫させてる
齋藤鉄夫ら世界最惡の殺人腐敗�
115:eロ組織公明党国土破壞省をたた゛ちに殲滅しないとお前ら皆殺しにされるそ゛!公職選挙法違反の齊藤鉄夫は何の正当性もなくダイシ゛ンた゛のとー方的に言い張ってるだけのテロリス ├た゛と認識しよう!統一教會との繋か゛りか゛發覚した公明党の石川博崇.高木陽介、佐藤茂樹のように,創価学会員は.公明党か゛私腹を肥やしたいだけの腐敗集団た゛と氣づこうな!創価学会員は.何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まで出てる世界最悪の殺人腐敗組織公明党を池田センセーか゛口をきけて容認するとか本気て゛思ってるとしたら侮辱にもほどがあるぞ!httрs://i,imgur,cоm/hnli1ga.jpeg
116:nobodyさん
22/09/07 09:47:44.90 pUjQfVgFB
URLリンク(sinrigaku.pages.dev)
117:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています