この連載が書籍になりました! Drupal 8初の日本語解説書『Drupal 8 スタートブック』好評発売中です。

【Drupal 8入門】ブロックレイアウトとコンタクトフォーム作成

2016年9月8日(木)
ANNAI株式会社

カスタムブロックの作成

先ほど示したブロックのうち、以下のブロックは現時点でまだ作成されていません。最初に、これらのブロックを作成します。

リージョン名 ブロック名 表示ページ タイトルの表示
Left Sidebar 製品検索 製品紹介(/product) 表示する
Right Sidebar 当社のご紹介 製品紹介(/product)以外 表示する
アクセス 製品紹介(/product)以外 表示する

作成する「カスタムブロック」の確認

それぞれのブロックをサンプルサイト上で確認してみます。

「製品検索」ブロックはViewsで作成した製品検索の説明文を表示するためのブロックです。「製品紹介」ページの「Left Sidebar」リージョンのみに表示されます。

image alt text

「当社のご紹介」と「アクセス」ブロックは「製品紹介」ページ以外のページの「Right Sidebar」リージョンに表示されます。

image alt text

「カスタムブロック」の作成

では次に、3つの「カスタムブロック」を作成します。

「製品検索」ブロックの作成

1.「管理メニュー」>「サイト構築」>「ブロックレイアウト」をクリックし、「カスタムブロックライブラリ」をクリックします。

image alt text


2.「カスタムブロックライブラリ」ページの「カスタムブロックを追加」ボタンをクリックします。

image alt text


3.「ブロックの説明」に「製品検索」、「本文」に「製品を製品名および製品カテゴリ別に検索できます。」と入力して「保存」ボタンをクリックします。

image alt text


4.「カスタムブロックライブラリ」に「製品検索」ブロックが作成されました。

image alt text


5.残りの2つのブロックも以下の入力項目の通りに入力します。

ブロックの説明(ブロック名) 本文
当社のご紹介 Drupalグッズ専門店UNNAIは縄文時代から続く、富士山のどこかにあるらしいDrupalグッズ専門店です。
国内外から集めたDrupalに関するあらゆるグッズを取り扱っております。珍品から激安品まで幅広く取り扱っております。お越しの際は事前にgoogleマップで場所を確認してからヘリでお越しください。
アクセス 富士山麓からヘリで12時間 徒歩でお越しの方は、熊にご注意ください。 TEL:00000000000 ※Google mapは適宜追加してください。

以下のように3つの「カスタムブロック」が作成されました。

image alt text

「ブロック」をリージョンに追加する

次に「ブロック」をリージョンに追加して、サイト上に表示させます。先ほど追加した3つの「カスタムブロック」を追加します。

「当社のご紹介」と「アクセス」ブロックの追加

1.「管理メニュー」>「サイト構築」>「ブロックレイアウト」画面で「Right Sidebar」リージョンの「ブロックを配置」ボタンをクリックします。

image alt text


2.「ブロックを配置」ウィンドウが開きます。「当社のご紹介」ブロックの「ブロックを配置」をクリックします。

image alt text


3.「ブロックの設定」ウィンドウが開きます。この画面では「言語」「コンテンツタイプ」「ページ」「役割」毎にブロックの表示、非表示の設定が可能です。

「当社のご紹介」ブロックを「製品紹介(/product)」ページを除いたすべてのページに表示させるには、

「ページ」タブをクリックし、「一覧にあるページで非表示」をチェックします。そして、「ページ」の入力欄に「/product」と入力します。これで、「製品紹介(/product)」ページで非表示(他のページでは表示)されるように設定されました。

「リージョン」が「Right Sidebar」リージョンに設定されているのを確認して、「ブロックの保存」ボタンをクリックします。

image alt text


※「ページ」タブのURL表記について

「ページ」タブにURLを指定する際の記述方法の一例を以下の表に示します。ワイルドカード「*」を利用することで、特定のパス以下をすべて指定できます。

ケース ページのパス 記述方法 説明
トップページを指定 / トップページの場合は例外的にを使用
個別のページを指定 /recruit /about /news /product /contact /recruit /about /news /product /contact 先頭に「/」を含めたパスを指定。
特定のパス以下を指定 /product/~ /user/~ /product/book/~ /product/ /user/ /product/book/ ワイルドカードとして「」を使用。「/product/*」であれば、「/product/book」「/product/car」 「/product/food/vegetable」など「/product/」以下すべてのパスを指定できる。

「一覧にあるページで表示」と「一覧にあるページで表示」を選択して、対象のページで表示するのか、非表示にするのかを選択できます。

image alt text


※「ディスプレイ・タイトル」チェックボックスについて

「ディスプレイ・タイトル」チェックボックスで、ブロックを表示した際にタイトルの有無を選択できます。

ブロックの用途に応じて適宜、タイトルの表示、非表示を設定してください。

image alt text

image alt text


4.「Right Sidebar」リージョンに「当社のご紹介」ブロックが保存されました。

image alt text


5.トップページで「当社のご紹介」ブロックの表示を確認します。製品紹介以外のページでも表示されていることを確認します。

image alt text

image alt text

image alt text


6.同様に「アクセス」ブロックを配置します。「当社のご紹介」ブロックの後に、「アクセス」ブロックを配置します。サイト上での表示順はブロックの並び順と同様になります。

image alt text


7.「アクセス」ブロックが、「当社のご紹介」ブロックの下に表示されました。

image alt text

他のブロックを「リージョン」に追加する

表の通りに、他のブロックを追加します。同一リージョン内のブロックの順番も表の通りに設定します。

ここに表示されている以外のブロックは「無効」に設定します。これで、サンプルサイトとほぼ同じレイアウトになっているはずです。

リージョン名 ブロック名 表示ページ ブロックタイトルの表示
ヘッダー サイトブランディング すべてのページ 表示しない
Primary Menu メインナビゲーション すべてのページ 表示しない
Page Title ページのタイトル すべてのページ 表示しない
パンくず パンくず トップページ以外 表示しない
content 新着情報: 新着情報ブロック(トップ) トップページ 表示しない
製品紹介: 製品紹介ブロック(トップ) トップページ 表示しない
メインページコンテンツ すべてのページ 表示しない
Left Sidebar 製品検索 製品紹介(/product) 表示する
外部設置フォーム: product-page_1 製品紹介(/product) 表示しない
Right Sidebar 当社のご紹介 製品紹介(/product)以外 表示する
アクセス 製品紹介(/product)以外 表示する
Fooder Bottom Powered by Drupal すべてのページ 表示しない

ANNAIは、2009年からDrupal専門のWebシステム開発会社として、世界規模で展開するグローバル企業や大学・自治体を中心に数多くのWebソリューションを提供。
CoreやModuleのコントリビューターなど、Drupalエキスパートが多数在籍。国内ユーザーコミュニティへも積極的にコミットし、定期的なセミナーの等の開催を通じて、オープンソース技術の普及や海外コミュニティとの緊密な連携を図っている。
Webシステムの企画・開発〜デザイン、クラウド運用までをワンストップで提供する他、Drupalのコーディングを評価する"Audit業務"や最適なモジュールの調査・選定等、幅広いコンサルティングを行っている。Drupalアソシエーション公式パートナー。
https://annai.co.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています