menuの作り方

Events happening in the community are now at Drupal community events on www.drupal.org.
kennyken's picture

はじめまして、まだ2週間ほどしかDrupalを利用していませんが、これまでMT/WPを経験し、Drupalに没頭しはじめました。

質問に入る前に、このサイトの構成を解説しているようなところはありますか?以下はそれに関連した質問になります。実際に作るのはニュースサイト、CNNなどです。項目数が多くそこをクリックすると関連記事を表示します。これをまずは作成して応用していきたいのです。

例えば、このページの上にあるRecentやJobという普通に言うメニューの作り方がわかりません。確かにmenu作成はあっても、このQuestionsのページのように作れないのです。作成したmenuをクリックするとトップページに行ってしまいます。NavigationではなくPrimary Linksで作っています。Pathはです。このfrontがまずは問題だとは思います。

これで何をやりたいのかというと、blog(pageやstoryではなく)をそれぞれの項目で管理したいのです。例えば、項目1、項目2...と複数のMenu項目を作成したら、blogの内容もこの項目別に表示をしたいのです。blogの投稿もこのquestionsのvocaburariesのように区別できればいいですね(このvocaburariesは別途調べてみます)。実際のblogではcategory/tagでも管理したいので。(WPではこの質問の内容は簡単にできるのですが...)

例えば項目1(音楽関係)であればこの項目をクリックすると表示する内容は音楽関連記事になるという意味です。

トップページでは各blogの最新記事をそのメニューの項目の数だけ例えば5項目ずつ表示したいのです。

今日はエイリアスで管理ができるかと検討しましたが、menuの項目が増えていくだけでうまく行きません。

(toppage)
 menuは項目1/項目2/項目3
 contentにはこの3つの項目1/項目2/項目3に関連した記事を表示する
(項目1)
 項目1をクリックすると音楽記事だけを表示
(項目2)
 項目2をクリックすると旅行記事だけを表示
(項目3)
 項目3をクリックするとニュース記事だけを表示

以上、www.abc.com/def/に作る方法

--
あるいは、複数のサイトを作成する方法が良いのでしょうか
www.abc.com/def/項目1/
www.abc.com/def/項目2/
www.abc.com/def/項目3/
のように、sites以下で項目1~3を構成して、インストールを行って管理するべきなのかもわかりません。

以上、テキストだけの説明は難しいですがヒントでもあればよろしくお願いします。

Comments

Drupal の世界へようこそ! Drupal

aiwata55's picture

Drupal の世界へようこそ!

Drupal では、特定コンテンツの抽出には Views というモジュールを使うのが一般的です。

タグ付けは、Drupal コアに含まれる Taxonomy という機能を利用します。Taxonomy では、Vocabulary に Terms がぶらさがるイメージです。これを使うと、たとえば「都道府県」という Vocabulary に「東京」「大阪」などの Term が登録されていて、「交通手段」という Vocabulary に「電車」「バス」「飛行機」などの Term が登録されていて、「駅・バス停・空港」というコンテントタイプに「東京駅」というノードを作り、「東京」「電車」というキーワードにタグ付けする。また「関西国際空港」というノードを作って、「大阪」「飛行機」というタグ付けをする。ということができます。つまり、一つのノードに対して複数の Vocabulary からキーワードを引っ張ってくることができるのです。

おっしゃることを実現するには

  1. 必要な Vocabulary / Term を登録。
  2. Views で、content type = blog、Taxonomy = X
    (X は Vocabulary / Term)
  3. Views で Page Display として書き出す。Path を振ってやる。

上記必要な Vocabulary / Term 分だけ行います。

次に、Primary Menu で項目1、項目2...項目Yと必要なメニューアイテムを作成し、そのリンク先として上記 Views で作成した Path をそれぞれ割り当てます。

なお、リンク先に と指定すると、Drupal ではトップページに飛ばされます。

ご参考まで。


Aki Iwata
FOREST & trees

Re:menuの作り方

kennyken's picture

Aki Iwata様
早々の回答ありがとうございます。明日じっくりとこの内容で確認してみます。

なお、リンク先に と指定すると、Drupal

aiwata55's picture

なお、リンク先に と指定すると、Drupal ではトップページに飛ばされます。

正しくは、

なお、リンク先に <front> と指定すると、Drupal ではトップページに飛ばされます。

です。


Aki Iwata
FOREST & trees

Re:menuの作り方

kennyken's picture

Aki Iwata様
数時間の検討の結果、記述の確認から行おうと決めました。理解度不足を痛感しています。

2. Views で、content type = blog、Taxonomy = X
(X は Vocabulary / Term)

次に、Primary Menu で項目1、項目2...項目Yと必要なメニューアイテムを作成し、そのリンク先として上記 Views で作成した Path をそれぞれ割り当てます。

このNo.2と、「そのリンク先として上記 Views で作成した Path をそれぞれ割り当てます。」の解説をお願いします。

・項目2では「content type = blog、Taxonomy = Vocabulary / Term」の意味がわかりません。addで適当な名前でNodeとして作成し、左の「page」を選んでadd display。そして右の多くの項目を設定し、pathも設定してsave。しかし、これまでで表示していたトップページと表示内容は同じです。

http://www.abc.com/def/項目1
での表示になったことでは、これまでのとは異なり項目1を表示できるようになりました。ただ、表示される記事はいまだにすべての記事であって、項目ごとに選択された記事ではありません。まだ設定が行き届いていません。

・blog entryで実際に記事を書いた後、今回設定したVocaburaryからTermsを選択できるようになりました。つまりMENUの項目1,項目2といったそれぞれの項目ごとにTermsが選択でくるのは便利かと。しかし、このpathはURL path settingsに書くのでしょうか?ここはエイリアスの場所なので、同じ単語は使えません。blog entry>editあるいはadd上のどこでpathの設定を行うのでしょうか。

--

news記事にはいろいろな項目(TOP、社会、海外、社会、エンターテイメントなど)があり、それをmenuに配置してクリックするとそれに関連した記事を表示したい。blog entryはひとつでそこから選択してmenuの項目(設定)に従って表示する記事も変わると言う意味です。

以上 よろしくお願いします

Re:menuの作り方

kennyken's picture

まだ解決していませんが、Vocabulary/Termの現状では、以下のことはできそうもないようです。
・menu作成:項目1、項目2、項目3
・Vocabulary/Termの作成:項目1用独立したTermリスト、項目2用独立したTermリスト、項目3用独立したTermリスト
・Viewsの設定:page/pathでmenuの項目1、項目2、項目3をそれぞれクリックすると、それに関連した記事を表示する
・blog entry:blogはひとつ、これで項目ごとに分ける、認識するためにVocabulary/Termを利用しようとしました

以上がやりたいことですが、blog entryでVocabularyを表示してもそれぞれ、Termsのリストか、打ち込み(これはVocabularyの設定でリストから選ばせるか、投稿者が自由にTermsを入力するかは設定可能)でできるが、投稿する第三者にとってはこの表示そのものが間違いやすいですね。この項目1か2か3に投稿しているという意識、あるいはそれをあらわすキーワードがあって、それを必ず選択させる必要が出てきました。

さらにもしこのVocabulary/Termをひとつにまとめると、項目1か2か3を表示する時にその区別がつかなくなる可能性があります。

これもdrupalでは細かい設定は可能なのか現時点では不明です。

--
解決方法として、まだこれからの確認ですが、blog entryを項目数だけ増やして、項目ごとに投稿をしてもらう。
あるいは、sites以下で複数サイトを利用して、別々に管理するか。たぶん、シングルサイト上でblog entryを複数作成はできないと思うので、複数サイトに拡張してblog entryを個々に設定して、defaultにあたるサイトのmenuのurlで飛んで表示する方がすっきりしているのかなと。

Re:menuの作り方

kennyken's picture

今日一日このNewsサイトのようなサイトを作る方法ですが、以下の方法で進めることにしました。
1. 既存のdrupalで作成している海外のニュースサイトに聞いて見ます。
2.マルチサイトは行わないことにしました、理由は今後の運用を考えると、databaseをやdrupalを複数にしたほうが管理がしやすいと判断しました。

方法として、
3.個別にdrupal/databaseを立ち上げて、トップページではrss/feedを利用してそれぞれの関係をつなぐ
4.親と子の関係でやはりdrupal/databaseを設定して見た目はひとつのサイトのように構成する。
5.blog entryをmoduleとして必要数だけアップしてblog管理とmenuとの関係をつけていく

課題として、この方法では、ひとつのサイトではないのでログインが個々のblogで行うことになります。

ということでこれらの確認はまだ続きますが、この問合せは今回で終わりにします。ありがとうございました。

Re:menuの作り方

kennyken's picture

Menuの作り方はこの流れで理解できました。

さらにこの数日で、blog(実際はblog entryを使用していない)とmenuの関係を作ることもできました。

3.個別にdrupal/databaseを立ち上げて、トップページではrss/feedを利用してそれぞれの関係をつなぐ
4.親と子の関係でやはりdrupal/databaseを設定して見た目はひとつのサイトのように構成する。
5.blog entryをmoduleとして必要数だけアップしてblog管理とmenuとの関係をつけていく

よってこの項目3~5はどれもやらなくても大丈夫でした。もちろんマルチサイトも作っていません。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: