最終更新日: 2025年10月10日
‘カスタムモジュールと呼ばれる、さまざまなページやテンプレートで再利用可能なコンポーネントを作成しましょう。フィールドの説明や、フィールドをHubLで使う方法をご紹介します。’;
‘https://cdn2.hubspot.net/hubfs/327485/Module%20Editor-1-1.png’;
このチュートリアルでは、HubSpot CMSボイラープレートテーマを使用してモジュールを作成し、このモジュールをテーマの一部としてテンプレートやページで使用する方法を説明します。このチュートリアルに従って作業を進めると、テキストフィールド、画像フィールド、リッチ テキスト フィールドを含むTestimonial(お客さまの感想)モジュールが完成します。
始める前に
このチュートリアルを開始する前に、次の作業を行ってください。- CMS Hub開発者用サンドボックスをセットアップします。既存のアカウントを使用することもできますが、サンドボックスを使用すると、メインアカウントのアセットに影響を与えることなく開発できます。
- HubSpotのローカル開発ツールの利用に必要なNode.jsをインストールします。バージョン10以降がサポートされています。
- Testimonial.module: チュートリアルで作成されるカスタムモジュールを構成するファイルを含むフォルダー。
- homepage.html: 編集してカスタムモジュールを含めるテンプレート。
- images: モジュール内で使用するプロファイル写真が入ったフォルダー。
ローカル開発環境をセットアップする
このチュートリアルでは、ローカル環境でモジュールを開発します。コマンド ライン インターフェイスからHubSpotを利用するには、HubSpot CLIをインストールし、アカウントへのアクセスを設定する必要があります。- ターミナルで次のコマンドを実行して、CLIをグローバルにインストールします。CLIを現在のディレクトリーにのみインストールする場合は、
npm install @hubspot/cliを実行します。
- テーマファイルの保存先とするディレクトリーで、HubSpotアカウントを認証し、CLIを介してアカウントを操作できるようにします。
- Enterキーを押して、ブラウザーでパーソナル アクセス キーのページを開きます。
- デプロイ先にするアカウントを選択してから、[このアカウントで続行]をクリックします。アカウントのパーソナル アクセス キーのページにリダイレクトされます。
- 「パーソナル アクセス キー」の横にある[表示]をクリックしてキーを表示します。次に[コピー]をクリックして、キーをクリップボードにコピーします。
- コピーしたキーをターミナルに貼り付け、Enterキーを押します。
- 他と重複しないアカウント名を入力します。この名前はユーザーが区別するためのもので、コマンドの実行時にも使用します。次にEnterキーを押して、ローカル開発ツールをアカウントに接続します。
~/.hscli/config.ymlファイルが作成されたことの確認として、成功メッセージが表示されます。
CMSボイラープレートをアカウントに追加する
- 次のコマンドを実行して、
my-themeという名前の新しいテーマを作成します。このコマンドを実行すると、ボイラープレートアセットを格納するmy-themeという名前のフォルダーが作業ディレクトリー内に作成されます。
- ファイルをアカウントにアップロードします。
| パラメーター | 説明 |
|---|---|
| 現在の作業ディレクトリーを基準としたローカルファイルの相対パス。 | |
| HubSpotアカウント内のアップロード先とするパス。新しいフォルダーにすることができます。 |
hs upload my-theme my-new-themeを実行すると、コンピューター内のmy-themeフォルダーがHubSpot内のmy-new-themeフォルダーにアップロードされます。
HubSpot内でモジュールを作成する
ローカル環境内でCMSボイラープレートを使用して、テーマの新しいモジュールを作成します。- HubSpotアカウントにログインし、[マーケティング]>[ファイルとテンプレート]>[デザインツール]に移動してデザインマネージャーを開きます。
- デザインマネージャーの左のサイドバーで、アップロードしたテーマフォルダーを開きます。
- テーマフォルダー内にあるモジュールフォルダーを開きます。
- このフォルダー内に新しいモジュールを作成するために、画面左上の[ファイル]>[新規ファイル]をクリックします。
-
ダイアログボックスで、ドロップダウンメニューをクリックし、[モジュール]を選択してから[次へ]をクリックします。
- [ページ]チェックボックスをオンにして、モジュールをウェブサイトとランディングページで使用できるようにします。
- モジュールの名前として「Testimonial」と入力してから、[作成]をクリックします。
モジュールにフィールドを追加する
次は、以下の3つのフィールドをモジュールに追加します。- 評価コメントを寄せてくれた顧客の名前を保存するテキストフィールド。
- 顧客のプロファイル写真を保存する画像フィールド。
- 顧客からの評価コメントを保存するリッチ テキスト フィールド。
顧客名を入力するテキストフィールドを追加する
-
モジュールエディターの右のサイドバーで、[フィールドの追加]ドロップダウンメニューをクリックし、[テキスト]を選択します。
- 右のサイドバーで、右上にある鉛筆アイコンをクリックし、フィールドに名前を付けます。このチュートリアルでは、「Customer Name」(顧客名)と入力します。これにより、HubL変数名が「customer_name」に変わります。
- [デフォルトのテキスト]を「Sally」に設定します。
- 右側のサイドバーの階層リンクアイコンをクリックして、メインモジュールのメニューに戻ります。
顧客のプロファイル写真を設定する画像フィールドを追加する
- 同じ方法で他のフィールドを追加します。今回は、[画像]フィールドタイプを選択します。
- 画像フィールドに「Profile Picture」(プロファイル写真)というラベルを付け、[HubL変数名]を「profile_pic」にします。
- [デフォルトの画像]では、完成したプロジェクトファイルが格納されている「images」フォルダー内にあるSallyのプロファイル写真を選択します。
- [代替テキスト]を「Sally Profile Picture」(サリーのプロファイル写真)に設定します。
Sallyからの評価を入力するリッチ テキスト フィールドを追加する
- 同じ方法で他のフィールドを追加します。今回は[リッチテキスト]フィールドタイプを選択します。
- リッチ テキスト フィールドに「Testimonial」というラベルを付けます。
- [デフォルトのリッチテキスト]ボックスをクリックし、「I’ve had nothing but wonderful experiences with this company」(この会社のサービスは素晴らしいの一言でした)と入力します。
モジュールの複数のフィールドにデータを追加しました。ただし、現時点ではこのモジュールに、そのデータをレンダリングするためのHTMLが含まれていません。モジュールエディターでは、この状態を反映してmodule.htmlセクションが空になっています。
次は、フィールドのデータを表示するためのHubLをmodule.htmlに追加します。
フィールドデータを表示するためのHubLを追加する
これまでに作成したフィールドのデータを表示するために、次のHubLをmodule.htmlペインに追加します。
moduleで始めて、その後にフィールドのHubL変数名を続けています。上記の3行目にあるprofile_picトークンに示されているように、ドット表記を使用すると、特定のフィールドにアクセスできるだけでなく、そのフィールドの特定のプロパティーにアクセスできます。
- HubLをモジュールに追加した後、画面右上の[プレビュー]をクリックして、現時点でモジュールがどのように表示されるかを確認します。
- 確認が終わったら、右上にある[変更を公開]をクリックします。
モジュールをローカル環境で表示して変更する
モジュールをローカル環境で表示するには、まず、モジュールをローカルテーマに取り込む必要があります。-
ターミナルで、
hs fetch <hs_src> <destination>コマンドを実行します。-
<hs_src>は、HubSpot内でのモジュールのファイルパスです。ファイルパスを取得するには、デザインマネージャーの左のサイドバーでモジュールを右クリックし、[パスをコピー]を選択します。
-
<destination>は、テーマが置かれているローカルディレクトリーのパスです。これを省略した場合はデフォルトで、コマンドによって現在の作業ディレクトリーが使用されます。
-
ローカル環境内のモジュールフォルダーを開く
使い慣れたコードエディター上で、HubSpotアカウントから取り込んだモジュールのフォルダーに進みます。モジュールフォルダーには、次の5つのファイルがあります。| パラメーター | 説明 |
|---|---|
fields.json | モジュールのフィールドが含まれているJSONオブジェクト。 |
meta.json | モジュールに関するメタ情報が含まれているJSONオブジェクト。 |
module.css | モジュールのスタイルを設定するCSSファイル。 |
module.html | モジュール用のHTMLおよびHubL。 |
module.js | モジュール用のJavaScript。 |
fields.jsonファイルとmeta.jsonファイルについて詳しく説明したドキュメントをご参照ください。このチュートリアルではfields.json、module.css、module.htmlの3つのファイルに焦点を当て、それらがどのように生成され、デザインマネージャーとモジュールエディターの間でダウンロード/アップロードされるかを説明します。
モジュールのfields.jsonファイルを確認する
モジュールのfields.jsonファイルを開きます。このファイルには次のようなJSONオブジェクトが含まれています(一部のid番号、画像フィールドのsrc属性、また場合によってはフィールドの順序などを除く)。
name:フィールドの名前。label:フィールドのラベル。default:フィールドのデフォルト値。
モジュールのmodule.htmlファイルを確認する
module.htmlファイルには、先ほどHubL+HTMLモジュールエディターで記述したHubLとHTMLが含まれています。
このコードに工夫を加えて、CSSでスタイル設定できるよう、次のコードをコピーして、ファイルに貼り付けます。
モジュールのmodule.cssファイルを確認する
module.cssファイルは、現時点では空の状態になっています。スタイルを追加するには、次のコードをコピーし、ファイルに貼り付けます。
ローカル環境で行った変更をHubSpotアカウントにプッシュする
ローカル環境での変更を保存したら、その変更内容をHubSpotアカウントにプッシュします。- ターミナルを開き、正しいディレクトリー上で作業していることを確かめます。
- 保存時に変更がHubSpotに適用されるように、
hs watch <src> <destination>コマンドを実行します。
HubSpotでローカルの変更をプレビューする
- HubSpotアカウントにて、[マーケティング]>[ファイルとテンプレート]>[デザインツール]の順に進みます。
- 左側のサイドバーで、作成したテーマに進み、moduleフォルダーを開いてTestimonialモジュールを選択します。
- モジュールを開き、
module.htmlペインとmodule.cssペインに変更が反映されていることを確認します。 - 右上にある[プレビュー]をクリックします。新しいタブが開き、モジュールのプレビューが表示されます。
ここまでのチュートリアルでは、次のような作業を行いました。
- HubSpotでモジュールを作成しました。
- モジュールをローカル環境に取り込みました。
- ローカルの開発ツールを使用してHubL+HTMLおよびCSSを変更しました。
モジュールをテンプレートに追加する
チュートリアルのこの部分では、ローカルのテーマファイル内のmodulesフォルダーとtemplatesフォルダーを主に扱います。
簡単な定義で説明するなら、モジュールとはHubSpotのテンプレートとページの編集可能な領域です。HubSpotではデザインマネージャーを使ってモジュールをテンプレートに挿入できますが、ここではHubLを使用して、モジュールをローカル環境内のテンプレートに追加します。
-
コードエディターで、
templatesフォルダーを開き、home.htmlファイルを開きます。 -
home.htmlファイル内の28行目付近から始まる最後のdnd_sectionに移動します。ここでは、このセクションに新しいモジュールを追加します。
-
dnd_section内の他のdnd_modulesの上に、次のHubLモジュールタグをコピーして貼り付けます。
dnd_sectionの他の2つのモジュールと均等な割合で収めるには、モジュールのwidthとoffsetで、幅とオフセットをそれぞれ指定します。
- HubSpotのCMSでは12列のグリッドシステムを使用しているため、このモジュールを他の2つと均等な割合で配置するには、
dnd_sectionの各モジュールを更新して幅を4に設定する必要があります。 - 次に、グループの最初の
dnd_module(testimonial)のオフセットを0に設定して、このモジュールが最初に配置されるようにします。 - 2つ目の
dnd_module(linked_image)のオフセットを4に設定して、2番目に配置されるようにします。 - 3つ目の
dnd_module(rich_text)のオフセットを8に設定して、3番目に配置されるようにします。
dnd_moduleのoffsetとwidthを設定した後のコードは、次のようになります。
HubSpotで変更をプレビューする
- 保存された作業を自動的に追跡する
watchコマンドを実行中の状態にしていない場合はhs watch <src> <dest>を実行します。以降の一連のステップを進めるに当たり、必ずこのコマンドを実行してください。 - HubSpotアカウントで、デザインマネージャーを開きます([マーケティング]>[ファイルとテンプレート]>[デザインツール])。
- デザインマネージャーの左のサイドバーで、home.htmlファイルを選択します。
- 右上の[プレビュー]をクリックし、[表示オプションを使用したライブプレビュー]を選択して、新しいウィンドウでテンプレートのプレビューを開きます。
- 新しいタブでテンプレートプレビューを表示すると、新しく追加したTestimonialモジュールが含まれているはずです。
テンプレート内のモジュールをカスタマイズする
ホームページテンプレートに工夫を加えるには、次の手順に従います。- コードエディターに戻り、
home.htmlファイルを開きます。 - Testimonialモジュールタグに、以下のパラメーターを追加します。
customer_nameこのパラメーターは、Maryという名前を顧客名フィールドに渡し、元の値であるSallyをオーバーライドします。profile_pic: このパラメーターは、2つのプロパティーを含むオブジェクトです。srcプロパティーではget_asset_urlHubL関数を使用して、新しいプロフィール写真のURLを取得します。画像のファイルパスは、作業ディレクトリーを基準とした相対パスであることにご注意ください。まず、この画像をimagesフォルダー内のローカル テーマ ファイルに追加する必要があります。この画像は、完成したプロジェクトファイルを格納するimagesフォルダー内にあります。altプロパティーでは、画像の代替テキストを割り当てます。
testimonial: このパラメーターは、評価コメントのフィールドに新しいテキストを渡します。
watchコマンドが実行中であれば、保存した変更がHubSpotに送信されます。その後デザインマネージャーに戻り、テンプレートをプレビューできます。
テンプレートにさらに2つのTestimonialモジュールを追加する
このステップでは、前と同じ手順に従って、さらに2つのTestimonialモジュールをテンプレートに追加します。-
コードエディターを開き、
home.htmlファイルを開きます。 -
前に追加したTestimonialモジュールをコピーして、その下に貼り付けることにより、このモジュールの別のインスタンスを追加します。新しいTestimonialモジュール内で、前と同じ手順に従って以下の詳細を指定します。
- 顧客の名前は
Ollieです。 - Ollieからの感想は「
I can't believe that I ever conducted business without the use of this product!」です。 - Ollieの写真として、
imagesフォルダー内のファイルの相対ファイルパスを追加します。この画像そのものは、完成したプロジェクトファイルから取得できます。Ollieの画像に、Ollie Profile Picture(Ollieのプロファイル写真)というalt属性を設定します。 - 間隔を均等に維持するには、
offsetを4に、widthを4に設定します。
- 顧客の名前は
-
2つ目のTestimonialモジュールの下に、3つ目のTestimonialモジュールを追加して、以下の詳細を指定します。
- 顧客の名前は
Erinです。 - Erinからの感想は「
My business has nearly tripled since I began to use this product! Don't wait, start now!」です。 - Erinの写真として、
imagesフォルダー内のファイルの相対ファイルパスを追加します。Erinの画像に、Erin Profile Picture(Erinのプロファイル写真)というalt属性を設定します。 - 間隔を均等に維持するには、
offsetを8に、widthを4に設定します。
- 顧客の名前は
- 変更内容を保存します。
watchコマンドを実行中の状態にしている場合、デザインマネージャーに戻ると、テンプレートの変更内容をプレビューできます。現時点で、テンプレートのプレビューに3つ全てのTestimonialモジュールが含まれています。
最後のステップとして、theme.jsonファイルを変更して、テーマを公開ページで使用できるようにします。
テーマ名を変更する
テーマのデフォルトの名前を変更するには、theme.jsonファイルでnameフィールドとlabelフィールドを設定します。
watchコマンドによってHubSpotに変更が送信されます。
次のステップ
このチュートリアルでは、カスタムモジュールを作成してhome.htmlテンプレートに追加し、オプションでテーマの名前をカスタマイズしました。これで、このテンプレートからページを作成して公開できるようになりました。
テーマに焦点を当てた同様のチュートリアルにご興味がありましたら、次のステップとして、こちらのテーマ入門チュートリアルをご参照ください。あるいは、HubSpotのナレッジベースでページの作成とカスタマイズについて詳細を確認することもできます。
モジュールの詳細については、以下のモジュールガイドをご確認ください。