drupal.orgには、関連するコンテンツをブロック表示するためのモジュールが数多く寄贈されています。関連記事を表示するのに、みなさんはどの方法を採用しているでしょうか?
関連コンテンツをブロック表示するためのモジュール比較表
あまりにもたくさんあり過ぎて、どれを選べばよいのか迷うので、drupal.orgには下のようないくつかのモジュールを比較するページがあります。
Comparison of Similiar / Relevant by term block modules. | drupal.org
上記のページでは以下の4つのモジュールを比較しています。
コメントにもあるように、その比較表がどこまで現在の状況を正確に伝えているかわかりませんし、そのほかにも類似のモジュールがあるということで、以下のようなモジュールついてコメントされています。
本当に何を使えばいいのか迷ってしまいますね。とにかく、プロジェクトページの説明などを読んで、よさそうなものを実際にテストしてみるしかないです。
選択する基準は何?
タクソノミータームベースか、文章内のキーワードベースか、複合的なアルゴリズムか
CocoaSpaceがちょっと調べた時の印象では、関連記事を抽出する方法として、大きく分けて同じタクソノミーベースのもの、文章の中のキーワードを分析するものの、2つのタイプがあるようです。それらの基準から自動で関連コンテンツを取得し、表示します。また、上記の2つやその他のデータを基に、独自のアルゴリズムで最も関連性の高いコンテンツを選択するものもあります。
自動か、手動か
CocoaSpaceとして上記のモジュールに加えたいのは、CCKに付属してくるNode Referenceです。Node Referenceでは、一つずつ関連するコンテンツを手動で選択します。そのため、「このコンテンツも併せて見てもらいたい。」というものを適切に選択ことができます。特にEコマースサイトなどでは、併せてお勧めしたい商品を自動選択してしまうのはよくないケースもあります。その上、Node ReferenceはViewsと連携できるので、商品の画像や価格、その他のCCKの値を一緒に表示するのも簡単です。しかし、この方法の欠点は、手間がかかってしまうことです。ノードの作成時に関連コンテンツを選択するのに加え、将来その記事と関連するコンテンツを作成した場合、またその以前作成したコンテンツに戻って新しいコンテンツを関連コンテンツに加えるという手間が発生する可能性もあります。もちろん、Corresponding node referencesのようなモジュールを使用して、片方からNode Referenceで参照すれば、もう片方からも参照してくれる便利なモジュールもありますが、一方向だけから参照したい場合には困ってしまいます。
そのような手間をかけたくない場合やコンテンツが多い場合、或いは不特定多数のユーザがコンテンツを作成するようなサイトでは、自動で関連コンテンツを表示させる方法がよいかもしれません。
その他の判断基準
その他の判断基準として、以下のようなことを考慮に入れたほうがよさそうです。
- 文章から関連性を解析するモジュールでは、CCKフィールドのテキストも含んで解析するかをチェック。
- Viewsを使って表示をカスタマイズしたい場合には、Viewsとの連携がサポートされているかをチェック。
今後、下位ページに具体的なモジュールの設定法などを追加します
CocoaSpaceでは、関連コンテンツの表示に関して知識がなさ過ぎるので、まずこれまでに試した以下の方法を、近いうちにご紹介したいと思います。
- Viewsのみを使ってタクソノミーベースで関連コンテンツを表示する方法
- Node ReferenceとViewsを連携させて関連コンテンツを表示する方法
Views以外のモジュールで自動で関連コンテンツを表示させる方法については、これから調べる機会がありましたら方法などを追加していきます。
コメントを追加