QA用アコーディオンモジュールの作り方【レベル2-前半】Hubspot CMS Hub
前回、超・超、簡易的なQAモジュールの作成方法 (レベル1)をご説明しました。
今回は前回より使い勝手をよくしたQAモジュールを作っていきたいと思います。
具体的には、QAの記載内容をウェブサイトページに配置したアコーディオンモジュールから、簡単に書き換えられる仕様のモジュールの作成方法のご説明となります。(長いので前半と後半に分けさせていただきますね。)
アコーディオンモジュール(レベル2)の仕様
- モジュールのドラッグアンドドロップ配置が可能
- ウェブサイトページに配置したアコーディオンモジュールから、QAの文字情報の書き換えが可能。
- ウェブサイトページに配置したアコーディオンモジュールから、QAの個数の増減が可能。
完成までの手順
【下準備 1】モジュールをドラッグアンドドロップできるテンプレートを作る
【下準備 2】モジュールを配置するためのWebサイトページを作る
- アコーディオンのhtml+cssソースコードを用意する
- アコーディオンのモジュールを作成する
- ウェブサイトページにアコーディオンのモジュールを配置してみる
- 確認・完成!
1.アコーディオンのhtml+cssソースコードを用意する
以下のような「Qを押下するとAが開く」タイプのアコーディオン用のソースコードを用意します。
(下のGIFアニメは文字情報が流し込まれた状態です)

HTML
- <details>
- <summary>
- </summary>
- <div class="ac_inner">
- <div class="answer">
- </div>
- </div>
- </details>
CSS
- /*アコーディオンcss*/
- summary{
- position: relative;
- max-width: 600px;
- padding: 20px 50px 20px 20px;
- cursor: pointer;
- background-color: #689DB4;
- color: #fff;
- margin: 10px auto;
- letter-spacing: 0.1em;
- }
- summary::-webkit-details-marker{
- position: absolute;
- color: transparent;
- }
- summary {
- display: block; /* デフォルトの矢印を消す */
- }
- summary::-webkit-details-marker {
- display: none; /* デフォルトの矢印を消す */
- }
- summary:before {
- content: 'Q '; /* 画像URLを指定 */
- font-family: 'Montserrat', sans-serif;
- font-weight: 500;
- font-size: 20px;
- }
- summary:hover, details[open] summary {
- background-color: #5B7A8E;
- margin-bottom: 10px;
- }
- summary::after {
- content: '+';
- font-size: 130%;
- position: absolute;
- top: 45%;
- right: 30px;
- transform: translateY(-50%);
- transition: transform.5s;
- }
- details[open] summary::after{
- transform:translateY(-50%) rotate(45deg);
- }
- .ac_inner{
- padding: 20px 20px;
- background-color: #F4F6F6;
- max-width: 630px;
- margin: auto;
- }
- .answer {
- padding: 0px 20px;
- margin: auto;
- }
- .answer p {
- background: none;
- line-height: 1.8;
- letter-spacing: 0.1em;
- color: #728389;
- }
- details[open] .answer{
- animation:fadein .5s ease-in-out;
- }
- .answer {
- display: block;
- padding-left: 35px;
- position: relative;
- line-height: 1.5;
- }
- .answer:before {
- position: absolute;
- top: -5px;
- left: 0;
- content: "A ";
- color: #689DB4;
- font-family: 'Montserrat', sans-serif;
- font-weight: 600;
- font-size: 26px;
- }
- .answer a {
- color: #2da59a;
- text-decoration:underline;
- }
- .answer a:hover {
- opacity: 0.5;
- }
- @keyframes fadein {
- 0% { opacity: 0; }
- 100%{ opacity: 1; }
- }
- /*アコーディオンcss*/
2.アコーディオンのモジュールを作成する
上記「1.アコーディオンのhtml+cssソースコードを用意する」で用意したhtmlとcssを使って、Hubspot CMSの管理画面からモジュールを作成していきます。
アコーディオンモジュールの作成手順
Hubspot管理画面ヘッダー【マーケティング】→【ファイルとテンプレート】→【デザインツール】を開きます。

【ファイル】→【新規ファイル】を選択します。または、オレンジ色の【新規ファイルを作成】を押下。

「新規ファイル」と書かれたモーダルウィンドウが開くので、コンポーネントの【モジュール】を選択します。

【次へ】ボタンを押下します。

「新規モジュールのセットアップ」が開きます。
ページにチェックを入れ(ブログ記事、ブログ一覧でも使いたい場合はそちらにもチェック)、モジュールコンテンツ範囲は「ローカルモジュール」にチェック(グローバルモジュールは共通パーツを意味するので今回は選択しません)、ファイル名に「accordion-level-1」と入力します。
必要に応じて、これから作るモジュールファイルの保管場所(フォルダ)を設定します。 【作成ボタン】を押下します。

上記で設定したモジュールファイル「accordion-level-2」の編集画面が表示されます。

ラベルに「accordion-level-2」と入力します。
用意しておいたアコーディオンのhtmlとcssを各エディターに流し込みます。
htmlは【module.html】エディターに、cssは【module.css】エディターに流し込みます。

QAアコーディオンの「Q」用のフィールド(入力欄)を作っていきます。
「フィールドの追加」から【テキスト】を選択します。
テキストフィールド欄に「accordion-q」と入力します。
既定のテキスト欄に「質門を入力してください」と入力します。
「質門を入力してください」でなくても、例えば「QAを入力する」「質門と回答フィールド」等、わかりやすい名称をつけていただければOKです。
HubL変数名と書かれた直下にあるコピーから【値のみをコピー】を選択し、HubL変数名の値をコピーします。
HTMLでQAの「Q」の文言が入る箇所(<summary>と</summary>の間)に、先程コピーしたHubL変数名の値をペーストします。
次の作業に移るので、スパナがクロスしているアイコンを押下してモジュール編集画面のトップに戻ります。
モジュールの編集画面のトップ(モジュール名「accordion-level-2」のトップ)に戻ったら、次はQAアコーディオンの「A」用のフィールド(入力欄)を作っていきます。
フィールドの追加から「リッチテキスト」を選択します。
テキストフィールド欄に「accordion-a」と入力します。
予め参考テキストを入れておきたい場合(フォームの入力欄に予め文言が表示されているアレです)は、既定のリッチテキスト欄に適宜文言を入力します。
HubL変数名と書かれた直下にあるコピーから「値のみをコピー」を選択し、HubL変数名の値をコピーします。
HTMLでQAの「A」の文言が入る箇所(<div class="answer">と</div>の間)に、先程コピーしたHubL変数名の値をペーストします。
次の作業に移るので、スパナがクロスしているアイコンを押下してモジュール編集画面のトップに戻ります。
モジュールの編集画面のトップ(モジュール名「accordion-level-2」のトップ)に戻ったら、次は前の工程で作成した2つのフィールド(「accordion-q」と「accordion-a」)を一つのグループにしていきます。
【グループ】を押下します。
「accordion-q」と「accordion-a」を選択し(選択するとスクショにあるように背景色が水色に変わります)、【グループを作成】ボタンを押下します。
フィールドグループ作成の画面が表示されるので、HubL変数名に「QA_accordion_group」と入力します。
上で作成したグループ(QA_accordion_group)をリピート表示できるようにしたいので、「リピーターオプション】」を【ON】にして、オブジェクト数の上限の「最小」に2と入力します。(QAの数が沢山あるとわかっている場合は、大きな数にしておきましょう)
これで、「リピート表示可能なQAのグループ」が完成しました。
次の作業に移るので、スパナがクロスしているアイコンを押下してモジュール編集画面のトップに戻ります。
上で作成したグループ(QA_accordion_group)を、module.html内に記述していきます。
HubLソースコードをこのページで表示させられないため、画像で恐縮なのですが、以下ご参考にしていただければと思います。
【変更を公開】ボタンを押下し、モジュールを公開します。
これでQAアコーディオンのモジュールが出来ました。(念の為、プレビューからアコーディオンの動作を確認してみることをおすすめします。)
これで、「2.アコーディオンのモジュールを作成する」のご説明は終わりです。
「3.ウェブサイトページにアコーディオンのモジュールを配置してみる」のご説明は、次のページからどうぞ!