タクソノミータームの作成

物件の所在する市区町村と、物件の最寄り駅については、Drupal のタクソノミータームという機能を使います。タクソノミータームとは、直訳すれば、「分類用語」といった感じになると思いますが、簡単に言えばカテゴリのことです。このカテゴリはそれぞれ親子関係を作ることができます。例えば市区町村でいうと、「千葉県」 > 「千葉市」 > 「稲毛区」 > 「稲毛町」という感じです。最寄り駅でいうと、「JR」 > 「総武線」 > 「稲毛駅」という具合になります。実際物件に登録するのは、一番末端のカテゴリ(この場合、市区町村でいうと「稲毛町」になります)です。ここで、「市区町村」と「最寄駅」はカテゴリの大枠ということになりますが、Drupal ではこれを「ボキャブラリ」といいます。ここではそれぞれ「エリアから探す(システム内部名称: area)」、「沿線から探す(システム内部名称: route)」という名前のボキャブラリを作成し、そこにタクソノミータームを追加していきます。

ボキャブラリの作成

まずカテゴリの大枠となる「ボキャブラリ」を作成します。「管理」 > 「サイト構築」 > 「タクソノミー」にアクセスしてください。

デフォルトでは「タグ」というボキャブラリが1つ設置されています。これはこのサイトにブログを設置することになったときに使うとして、左上の「ボキャブラリーの追加」をクリック。

「名前」のところに「エリアから探す」、「システム内部名称」のところに「area」と入力し、「保存」ボタンをクリックします。

「エリアから探す」ボキャブラリが作成されました。

続いて、このボキャブラリのフィールドの設定をします。「エリアから探す」の「ボキャブラリの編集」をクリック。

右上の「フィールドの管理」をクリック。

フィールドの設定画面です。この画面に見覚えがあると思った方もいるでしょう。これは、コンテンツタイプのときのフィールドの設定と同じです。フィールドとは、たとえば賃貸物件について、所在地はどこか、家賃はいくらか、間取りはどんな間取りか、専有面積は何㎡かといった、属性データのことでした。Drupal 7 からはこれを、ノードだけでなく、タクソノミータームや、ユーザなどにも設定できるようになりました。

ここではフィールドを1つ追加します。「フィールドを追加」のところの、ラベルに「パスに使用する名前」、システム内部名称に field_ 「path_name」、保存データ形式のところは、「テキスト」を選択、ウィジェットには「テキストフィールド」を選択し、ページ下「保存」ボタンをクリックして設定を保存してください。

フィールドの設定画面です。最大長は「255」で、特に編集する必要はありません。そのまま下の「フィールド設定を保存」ボタンをクリック。

ヘルプテキストに、例えば、『パスに使用する名前を入力してください。例: 「千葉県」 → 「chiba」』のように入力して、あとはデフォルトのまま設定を保存します。

このフィールドの値は名前の通り、タクソノミータームのパスに使用します。賃貸物件検索の追加ページで定義した要件にあるように、物件リストのページを

'forrent/area/{県名}/{カテゴリ ID}'

といったパスでアクセス出来るようにするためです。これの{県名}の部分にこのフィールドの値が入ります。通常このような場面にはシステム内部名称が使われますが、タクソノミータームにはシステム内部名称がないため、その代わりとして設定しました。このフィールドを使用するのは最上位の「~県」のタームだけで、その下の「市区」、「町村」のタームでは使用しません。

フィールドを追加したら、「表示管理」ページから表示設定を行います。「パスに使用する名前」フィールドは特に表示する必要はないので、フォーマットのセレクトボックスで「非表示」を選択し、ページ下「保存」ボタンをクリックして非表示に設定します。

これで「エリアから探す」ボキャブラリの作成と、その設定は完了です。同様に、「沿線から探す(システム内部名称: route)」ボキャブラリを作成してください。フィールドの設定は「エリアから探す」と同じです。

タクソノミータームの追加

「エリアから探す」のタクソノミータームを1件追加してみましょう。

「管理」 > 「サイト構築」 > 「タクソノミー」から、「エリアから探す」の「タームの追加」をクリック。

例として、名前に「千葉県」、パスに使用する名前に「chiba」と入力します。このデモサイトにおいては、「エリアから探す」ボキャブラリの中で、パスに使用する名前を設定するのは、「千葉県」タームだけです(最上位のタームだけ、パスに使用する名前を設定します)。URLエイリアスはここでは使用しません(理由についてはのちほど説明します)。「関連」フィールドセットの「上位のターム」には、階層が上位となるタームを選択し、ウエイトで順番を指定します。ここでは「千葉県」は最上位となり、また同階層に他のタームは存在しないため、そのままページ下「保存」ボタンをクリックします。

このような感じで、タクソノミータームをいくつか追加してみてください。タクソノミーの階層については、デモサイトを参考にしてください。同様に、「沿線から探す」ボキャブラリのタクソノミータームも、いくつか作成してみてください。階層については、デモサイトを参考にしてください。