挨拶
こんにちは、__イエノカド__です。
今回、Salesforce が提供している__Commerce Cloud Digital Developer__のトレーニングを受講してきました。
あまり情報も載っていないので、備忘録として記述していきます。
結果的に4日間のトレーニングを受講した1週間後には、__Commerce Cloud Digital Developer__の資格を取得できました。
Salesforce Commerce Cloudとは
- __セールスフォース・ドットコム__が2016年6月に買収したデマンドウェアの製品を基盤とした製品
- クラウドECプラットフォーム
- グローバル企業が導入している(アディダス, クロックス, アシックス)
Commerce Cloudの開発環境を得るためには
- Commerce Cloud Digital Developer のトレーニングを受講する(受講終了後、2週間後に開発環境が利用できなくなります)
- Commerce Cloudのサービスのライセンス契約をする(契約料についてはレベニューシェアですが、契約できる企業はある一定基準の売上を満たしている企業と思われる)
- Salesforce Commerce Cloudのパートナー企業となる(資格保有者が4人いる企業がなれるそうです)
開発環境
- eclipse(Neon)
- Windows 10 Pro
トレーニングの4日間の中で何を教えてもらえるか
- Commerce Cloudのカスタマイズ方法(プログラミング)
- Javascriptコントローラ
- ISMLテンプレート
基本的に上記内容の通り、Commerce Cloudはサーバー言語がJavascriptで
テンプレートエンジンがISML(HTMLのようなもの)というものです。
トレーニングの中ではJavascriptでサーバー上の処理を書きますが、
JQueryみたいな書き方は基本なく、生書きするようなイメージです。
- Javascriptコントローラ
JShowProduct.js
'use strict';
// テンプレートエンジンの呼び出し
var ISML = require('dw/template/ISML');
// 関数を新しい名前で設定できる
var guard = require('storefront_controllers/cartridge/scripts/guard');
// 商品マネージャー
var ProductMgr = require('dw/catalog/ProductMgr');
function start() {
var parameterMap = request.httpParameterMap;
// Getパラメータ「pid」から値を取得
var parameterId = parameterMap.pid.stringValue
// pidから商品データを取得
var product = ProductMgr.getProduct(parameterId);
if (product == null) {
// 商品情報がnullの場合、テンプレートにメッセージを渡す
ISML.renderTemplate('productnotfound.isml', {message: 'product with id ' + parameterId +' not found'});
} else {
// 商品データを取得できた場合、商品データをテンプレート変数に設定
ISML.renderTemplate('productfound.isml', {myProduct: product});
}
}
// URLの設定
exports.Start = guard.ensure(['get'], start);
- Javascriptコントローラが実行されるURL
http://xxxx.demandware.net/on/demandware.store/Sites-xxx-Site/default/JShowProduct-Start
- ISMLテンプレート(「pid」がnullの場合)
productnotfound.isml
<h1> ${pdict.message} </h1>
productfound.isml
<iscomment>Using a custom tag</iscomment>
<isdecorate template="product/pt_productdetails">
<iscomment> Using the producttile custom tag </iscomment>
<isinclude template="util/modules.isml" >
<isproducttile product="${pdict.myProduct}" showswatches="${true}" showpricing="${true}" showquickview="${false}">
</isdecorate>
<h1> ${pdict.myProduct.name} </h1>
まとめ
- 基本的には__Javascript__と__HTML__, __CSS__の理解があればコードは書けそう。
- ただし、Commerce Cloudならではのお作法(__ISML__等)があるため、そこは色々試して知っていかなければならない。
- Commerce Cloudライセンスを契約することはかなり大手(グローバル)企業でないと無理そう。
- トレーニング費用が個人ではなかなかお高い額のため、「ちょっとやってみたい」ができない。
- 2019/6/18現在はコードの書き方が少し変わっており、サーバーサイドはNode.jsを基盤として書かれています。
Commerce Cloud カスタマイズのための情報等がまだまだ日本語では少ないため、今後も調べていき、発信したいと思います。