スタートブック』好評発売中です。8入門】ブロックレイアウトとコンタクトフォーム作成2016年9月8日(木)ANNAI株式会社Tweet今回はコンタクトフォーム(お問い合わせフォーム)を作成し、ブロックを配置しながらサイトを仕上げていきます。ブロックの配置が終わると、サイトはTheming(デザイン適用)を除いて機能的にはひとまず完成となります。ブロックによるレイアウトとレイアウトに関わる便利な拡張モジュールをいくつかご紹介しましょう。コンタクトフォームの作成Drupalは標準でシンプルなコンタクトフォームを実装しています。複数のフォームを作成することはもちろん、独自のフィールドを設定することも可能で、目的に合わせたフォームを設置できます。今回は標準のコンタクトフォームをサイトのお問い合わせフォームとして利用します。1.ログアウトした状態で「/contact」にアクセスします。2.以下の「ウェブサイトフィードバック」のページは、Drupalインストール時にすでに作成されているコンタクトフォームです。今回はこのフォームの名称を「お問い合わせ」に変更し、「メインナビゲーション」に登録します。「サイト構築」をクリックして「サイト構築」画面を開き、「メニュー」をクリックします。「メニュー」画面の「メインナビゲーション」の「メニューの編集」ボタンをクリックして、「リンクの追加」ボタンから新しく「/contact」を「お問い合わせ」としてメニューに登録し、以下の順番に並び替えます。4.「お問い合わせ」が「メインナビゲーション」に表示されました。5.次に「ウェブサイトフィードバック」というフォームの名称を「お問い合わせ」に変更します。「管理メニュー」>「サイト構築」>「コンタクトフォーム」をクリックします。6.「コンタクトフォーム」画面で、「ウェブサイトフィードバック」の「編集」をクリックします。7.「コンタクトフォームを編集」画面で「ラベル」に「お問い合わせ」、「受信者」に問い合わせを受信するメールアドレスを入力して「保存」ボタンをクリックします。8.フォームのタイトルが「お問い合わせ」に変更されました。※今回はDrupalに標準のコンタクトフォームを利用しましたが、コンタクトフォームを新規に作成することも可能です。コンテンツタイプを作成した時のように、任意の「フィールド」を追加し独自のフォームを作成することもできます。strage」モジュールを使うと、コアのContactモジュールの機能が拡張され、問い合わせフォームの回答をentityとして保存できます。entityとして保存することで、回答データをDrupal上で再利用できるようになるなどさまざまなメリットがあります。Form」モジュールが有望な選択肢となるでしょう。ブロックレイアウトの基礎知識これまで、ブロックレイアウトについて詳しくは触れませんでしたが、Viewsで作成したブロックを配置するなど基本的なブロックの操作は行ってきました。そのためDrupalのブロックレイアウトについてはある程度は理解できているかもしれません。今回はDrupalに標準のブロックレイアウトを使って、サイト上のさまざまな場所に要素を配置していきます。Drupalにはブロックを利用する以外にも、拡張モジュールを利用したレイアウト方法がいくつかあります。これらの方法もご紹介しましょう。ブロックリージョンとテーマの関係Drupalにおいて、「ブロック」は「ブロックリージョン」と呼ばれる領域に配置できます。この「ブロックリージョン」のレイアウトは「テーマ」によって異なります。今サイトにインストールされている「テーマ」の「ブロックリージョン」を確認してみましょう。1,「管理メニュー」>「サイト構築」>「ブロックレイアウト」から「ブロックリージョンを仮表示する」をクリックします。この時、「Paxton」が選択されているのを確認してください。2.「Paxton」テーマの「ブロックリージョン」が表示されました。黄色い領域が「ブロックリージョン」です。「ブロックリージョンの表示を終了する」をクリックします。3.次に「Bartik」テーマをクリックして「ブロックリージョンを仮表示する」をクリックします。4.「Bartik」テーマのリージョンが表示されました。2つのテーマを比べてみると一目瞭然ですが、明らかに「ブロックリージョン」の配置が異なります。ここから分かるように、「ブロックリージョン」のレイアウトはテーマ毎に異なることを理解しておいてください。「ブロック」を配置する前に各リージョンに配置するブロックの要件を確認します。各ブロックの配置リージョンと表示ページは以下の通りです。表に記載がないリージョンについては、今回はブロックを配置しません。この著者の記事一覧ANNAIは、2009年からDrupal専門のWebシステム開発会社として、世界規模で展開するグローバル企業や大学・自治体を中心に数多くのWebソリューションを提供。CoreやModuleのコントリビューターなど、Drupalエキスパートが多数在籍。国内ユーザーコミュニティへも積極的にコミットし、定期的なセミナーの等の開催を通じて、オープンソース技術の普及や海外コミュニティとの緊密な連携を図っている。いコンサルティングを行っている。Drupalアソシエーション公式パートナー。Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。ITがお届けするポッドキャストです。