Upload
yoshi-sakai
View
1.037
Download
3
Embed Size (px)
Citation preview
XoopsECDistribution Package
Presented By Bluemoon inc.and GMO Payment Gateway
2013 – 2 - 13
自己紹介
• 有限会社ブルームーン CEO 酒井能克
• Twitter @bluemooninc
• https://www.facebook.com/bluemooninc
• http://www.bluemooninc.jp
• N88-Basic,MASM,Quick-C,MS-C,VB,桐,dBaseIII,MS-Access 2.0 – 2013,PHP, JavaScript 等プログラム歴30年
• MdNウェブデザイン特別号執筆。
コンセプト
• シンプルに導入しやすく!os-commerce,zen-cart,ec-cube,magento,uu-cart等色んなオープンソースの経験より
• 磨き込まれたUXヲトリイレヨ
ヤフオクとかアマゾンとか良いので真似る。
• コアは最小限に拡張性は無限に
学習コストを最小にするが拡張性は犠牲にしない。
https://www.xoopsec.com
https://github.com/bluemooninc/xoopsec
特徴
• ヤフオク&アマゾンから発想したUX• アマゾンと同様の簡単クレジット決済• スマホ/タブレット自動サイズ調整• メール通知と共にサイト内メッセージも配信• CSVインポート・エクスポート=全テーブル• 動作環境=PHP5.3/MySQL5.5以降• GPL V3 オープンソース・無償ダウンロード• XOOPS Cube V2.2最新コア対応• Legacy モジュール上位互換(機能追加あり)
導入ガイダンス
インストール
• html, xoops_trust_path をサーバにアップ
ウィザードの始まり
アクセス権限チェック
データベースの設定
内容を確認
mainfile.php の生成
書込可能フォルダのチェック
設定のチェック
データベースの設定
データベースの存在チェック
データベースの作成とチェック
システムテーブル作成
アプリのインストール
サイトページへログイン
バックヤードへ
ブロックの表示位置調整
デモサイトと同様の画面
クレジット機能のセットアップ
GMO-PGX モジュール
GMO-PG API連携の設定
クレジットカードのテストID取得
https://service.gmo-pg.com/cyllene/entry/trialStart.htm
登録してメールを受信
テスト環境使用の確認
ID/PWをメールで取得
ショッピングカートについて
最近チェックした商品
• 非ログイン時はセッションで管理
• ログインしてもセッションを引き継ぐ
• 常に最新のチェック品が左先頭来る
• 左右スライダーでページ切り替え
カテゴリー
• ヤフオクと同じUXで動くカテゴリーブロック
• カテゴリーの樹形図は無限(Callback with closure 使用=PHP V5.3 以降必須)
商品の編集について
• クリックで商品詳細>編集へ
商品の編集
• 編集する>バックステージの編集へ
画像を説明文に追加• 商品説明にも画像の追加が可能
サーバ側での画像管理
商品説明の整形例
新規商品の登録
商品一覧
商品一覧で追加を確認
• 鉛筆アイコンで再編集• ×は削除• その隣は画像ファイル登録• 目のアイコンは表の画面で確認• 販売しない時は、在庫を0にしておきます。
画像カタログに写真を追加
商品画像一覧表で確認
2枚目の画像を追加
• 無限に追加可能
2枚の画像を登録完了
表の画面で確認
カートに入れてレジへ
注文内容の確認• 配送先を入力して、支払い方法を選択>注文を確定
お届け先を入力
お届け先登録完了
クレジットカードの利用登録
• 全ページ右側のクレジットカード下のボタンをクリック
登録完了
• 既に登録されている場合はワーニング
クレジットカード登録
• GMOペイメントのAPIで登録
注文を確定する
ご注文一覧
• ご注文有り難うございますのメッセージ後遷移先
確認メール
• Bmcart/languages/ja_utf_8/ThankYouForOrder.tpl
メッセージでも補完
注文一覧
管理者メニューより注文一覧をクリック
配送情報の入力
クレジット課金
決済実行で課金API実行。日時が入り、決済実行アイコン(鍵)が消える。
商品発送の連絡
発送メール
• Bmcart/languages/ja_utf_8/ShoppingNpw.tpl
CSV入出力
• モジュール名テーブル名毎にCSVを入出力
• エクセルファイルで編集して一括登録可
• テストと本番のデータ入れ替えに最適
B.M.Cart CSV
• ダウンロードするとヘッダ付きCSVをエクセルで編集できる。エクセル編集後のCSVを読み込ませて更新、追加が可能。
Category
• 樹形構造=parent_id
• カテゴリーID=category_id
Item (商品)
• `item_id` int(8) unsigned NOT NULL auto_increment, 商品ID• `category_id` int(8) unsigned NOT NULL, カテゴリID• `uid` int(8) unsigned NOT NULL, 登録者ユーザID• `item_name` varchar(255) NOT NULL, 商品名称• `item_desc` text, 商品説明• `price` decimal(13,2), 商品価格• `shipping_fee` decimal(13,2), 送料• `stock_qty` int(1) unsigned NOT NULL, 在庫数量• `last_update` int(10) unsigned NOT NULL, 最終更新日• `publish_date` int(10) unsigned NOT NULL, 公開日(将来対応予定)• `expire_date` int(10) unsigned NOT NULL, 公開終了日(将来対応予定)
Order
• `order_id` int(8) unsigned NOT NULL auto_increment, 注文番号• `uid` int(8) unsigned NOT NULL, ユーザID• `first_name` varchar(80) NOT NULL, 名• `last_name` varchar(80) NOT NULL, 氏• `zip_code` varchar(10) NOT NULL, 郵便番号• `state` varchar(32) NOT NULL, 都道府県• `address` varchar(80) NOT NULL, 市区町村• `address2` varchar(80) NOT NULL, 番地、建物等• `phone` varchar(12) NOT NULL, 電話番号• `payment_type` tinyint(1) unsigned NOT NULL, 支払い(1:銀行振込、2:カード• `card_order_id` varchar(14), カード側へのオーダーID• `sub_total` decimal(13,2), 商品系• `tax` decimal(13,2),消費税• `shipping_fee` decimal(13,2),送料• `amount` decimal(13,2), 合計• `order_date` int(10) unsigned, 注文日時• `paid_date` int(10) unsigned, 支払日• `shipping_date` int(10) unsigned, 配送日• `shipping_carrier` varchar(32), 配送会社名称• `shipping_number` varchar(24), 配送伝票番号• `shipping_memo` text, 配送に関するメモ• `notify_date` int(10) unsigned, 配送事項送信日時
OrderItems
• `orderItem_id` int(8) unsigned NOT NULL auto_increment, 注文カウントID
• `order_id` int(8) unsigned NOT NULL, 注文ID• `item_id` int(8) unsigned NOT NULL, 商品ID• `price` decimal(13,2),商品価格• `shipping_fee` decimal(13,2),送料• `qty` int(1) unsigned NOT NULL,数量
フォルダ構成等
• 色々ある
本日リリースした内容まとめ
使ったテーマ
フレームワーク
• Achtungbaby(と呼んでます)
– admin = Mojavi のactionです
– App = CakePHPのフォルダ構成
– Model = FuelPHPのForge
• それぞれの好きなとこだけ集めて作りました。
MVCフレームワーク
• 代表的な フレームワーク• 2003年 phrame フレームワークの黎明期• 2004年 Mojavi MVCフレームワークの台頭• 2005年 Agavi, Ethna, Maple フレームワーク戦争時代
• 2006年 CakePHP,Ruby on RailのRAD機能を• もつフレームワークの登場• 2007年 symfony,Zend Framework 企業レベルで開発されたフレームワークの台頭
• 2011年 FuelPHP RAD熟成期 Rest コントローラや名前空間等、PHPやWebのAPI進化と共に
Achtungbabyって何?
• XOOPS Cube に置ける Mojavi フレーム派生
• CakePHP の App フォルダ構成>RADで次に何をすればいいかレスポンシブな反応がフレームワームに欲しかった。
• FuelPHP の Model 構成>handlerはテーブル毎だがまるっとビジ
ネスロジックをやってくれる場所が欲しかった。
• 無い>作った!(今ココ)
次にしたい事を教えてくれる
/modules/bmcart/コントローラ名/メソッド名/値1/2
Model_Forgeカートの中身を見るには色々なテーブルのビジネスロジックを丸っと書く>それはコントローラでは無い