グローバル変数の作り方
※この記事の内容は2015年11月に開催された a-blog cms Training Camp 2015 Autumn の中で行われたグローバル変数の作り方講座の内容です。
グローバル変数
グローバル変数は、テンプレートに記述することで、表示中のページが持つ情報を出力します。テンプレート上、モジュールやインクルードよりも先に処理されます。
利用できるグローバル変数の一覧
※この記事の内容は2015年11月に開催された a-blog cms Training Camp 2015 Autumn の中で行われたグローバル変数の作り方講座の内容です。
グローバル変数は、テンプレートに記述することで、表示中のページが持つ情報を出力します。テンプレート上、モジュールやインクルードよりも先に処理されます。
利用できるグローバル変数の一覧
今年、2018年3月26日に公開された a-blog cms Ver.2.8ではより外部サービスと連携しやすい仕組みを用意しています。そこで今後いくつかの連携機能をa-blog cmsの本体とは別に拡張アプリという形で配布することにしました。 その第一弾として今回は 拡張アプリ「Slack」を用意しました。拡張アプリ「Slack」を使うとお問い合わせフォームなどから送信された内容をSlackに通知することができます。たとえばフォームから「資料請求」などがあれば「資料請求がありました。」などの簡単なメッセージや、メールの本文をそのまま、好きなチャンネルに通知できます。
利用するためにはダウンロード後、/extension/pluginsに設置してください。
以下の3つのステップで a-blog cms と Slack を連携します。
Slackのアカウントをお持ちでない方は下記のURLにてアカウントを作成しましょう。ある程度の機能までは無料で使うことができます。 https://slack.com/
下記のURLにてチャネルを指定して Webhook URL を取得します。ここで登録したチャネル以外のチャネルにもメッセージを飛ばすことはできますので好きなチャネルを指定して作成しましょう。 https://slack.com/services/new/incoming-webhook
管理ページ > 拡張アプリより「拡張アプリ管理」のページに移動します。そのページより下の図のようにSlackをインストールします。
インストール完了後は、管理ページ > フォーム > 連携したいフォームID よりSlackの管理ページに移動します。その後、「Webhook URL」という項目がありますので、その項目に先ほど覚えておいた Webhook URL を入力します。
あとは、Slackに通知したいフォームIDに移動し、メッセージの送信先チャネルを「Channel」に送信元の名前を「From」に設定します。またメッセージにはフォームモジュールの変数と、グローバル変数を使用することができます。 「Message」の項目にはグローバル変数やフォーム内の変数も利用することができます。
これでa-blog cmsとSlackを連携させる準備は整いました。あとは先ほどの設定がされたフォーム「お問い合わせフォームなど」に移動し普段通り情報を入力します。
お問い合わせ完了後、以下のようなメッセージがSlackに通知されていれば成功です。
config.server.phpでHOOKを有効にしておく必要があります。
define('HOOK_ENABLE', 1);
拡張アプリは今後 applepleのGitHubのページに公開していく予定です。 またGitHubに公開されているアプリは下の拡張アプリ一覧ページからダウンロードできるようになりますのでよかったら訪れてみてください。
https://appleple.backlog.jp/view/CMS-1690
a-blog cmsユーザーの方から、%{CURRENT_THEMES_DIR} :表示中ページで使用されているテーマのパスを表すグローバル変数、がありますが、これの親ブログ版、ルートブログ版が欲しいといった要望を頂いております。
「スタッフ紹介」というコンテンツをグローバルナビゲーションに表示しましょう。
解説使用テーマ | beginner |
---|
Before
After
サイトを制作する際は、既にa-blog cmsが用意しているモジュールの中から最適なものを組み合わせ、HTMLやCSSで独自にスタイルを調整していきます。
他にもモジュールには様々な種類があり、それぞれのモジュールはその役割ごとにグループ分けされています。一番大きな括りは、テンプレートを組み立てるためのGETモジュール、サーバーにデータを送信するためのPOSTモジュールです。
GETモジュール | ビルトインモジュール |
フィールドモジュール | |
タッチモジュール | |
POSTモジュール | POST_2GETモジュール |
ダウンロードモジュール |
さらにGETモジュールは、ビルトインモジュール・フィールドモジュール・タッチモジュールの3種類に、POSTモジュールはPOST_2GETモジュール・ダウンロードモジュールの2種類に分けられます。
今回のハンズオンで作業していくナビゲーションモジュールはビルトインモジュールの1つです。これらのモジュールの区分は少々発展的な内容になるため、詳しくは以下の関連記事をご覧ください。なお、今回のチュートリアルについてはこれらの区分を理解していなくても進められるようになっています。
それでは、グローバルナビゲーションに「スタッフ紹介」というコンテンツを追加していきましょう。以下の手順でモジュールの表示設定画面へ移動します。
モジュールの表示設定画面が表示されました。続けて「採用情報」の右側にある [追加] ボタンをクリックし、新しく設定された入力欄にスタッフ紹介のラベルとURLの情報を入力していきます。
ラベル | スタッフ紹介 |
---|---|
URL | %{HOME_URL}staff/ |
URL欄は、a-blog cmsのグローバル変数を使った方法で記述しています。
以上でグローバルナビゲーションの表示設定が変更できました。画面の右上にある、青い「保存」ボタンを押して設定を保存します。トップページで表示を確認すると、「スタッフ紹介」のコンテンツが追加されているのがわかります。
以上でチュートリアルの目標は達成です。
補足としてモジュールやグローバル変数への理解を深めるのに役立つ「クイックサーチ」という機能をご紹介します。
今回学習した「モジュール」や「グローバル変数」のパターンはそれぞれ数多く用意されています。目的に合ったものを効率よく探し出すために、是非クリックサーチを積極的に取り入れていきましょう。