Star Rating
エンティティに星評価フィールドを追加するシンプルなモジュール。投票APIを使わず、コンテンツ作成者による評価入力に特化しています。
starrating
概要
Star Ratingは、DrupalのField Type APIを使用して星評価フィールドと表示フォーマッターを提供するシンプルなモジュールです。
Fivestarモジュールや他の投票・評価モジュールとは異なり、エンドユーザーによる投票やAJAXインターフェースはサポートしていません。このモジュールは、ノードの作成者のみが評価を入力することを目的としています。Voting APIモジュールなどの依存モジュールを必要とせず、シンプルながら作成者による星評価のみが必要な場合に最適です。
例えば、レストランレビューサイトを作成し、1つのノード内に「料理」「価格」「サービス」の3つの5つ星評価を異なるアイコンタイプで追加したい場合、このモジュールが最適です。
17種類のアイコンタイプ(星、ハート、チェック、ドル、スマイリーなど)と8色のカラーバリエーションを提供し、用途に応じた柔軟な表示が可能です。
Features
- 1〜10段階の評価値を設定可能な星評価フィールドタイプを提供
- セレクトボックスによるシンプルな評価入力ウィジェット
- 17種類のアイコンタイプ(星、ハート、チェック、ドル、コーヒー、飛行機など)から選択可能
- 8色のカラーバリエーションでアイコンの色を変更可能
- 3種類の表示フォーマッター: アイコン表示、数値表示、分数表示(例: 8/10)
- 空白アイコンで残りの評価を表示するオプション
- カスタムアイコンを使用するためのCSSカスタマイズ機能
- Voting APIなど他モジュールへの依存なしで動作
- RTL言語対応のためのCSS設定が可能
Use Cases
レストランレビューサイト
レストランのレビュー記事に「料理の味」「価格」「サービス」「雰囲気」の4つの星評価フィールドを追加。料理にはフォーク(food)アイコン、価格にはドル(dollar)アイコン、サービスには人(human)アイコン、雰囲気にはハート(heart)アイコンを使用し、それぞれ5段階評価で設定。記事作成者が各項目を評価でき、読者にわかりやすく表示できます。
映画レビューブログ
映画レビュー用コンテンツタイプに10段階の星評価フィールドを追加。映画(movie)アイコンを使用し、空白アイコン表示オプションを有効にして、未達成の星も表示。例えば7点の映画は7つの色付きアイコンと3つのグレーアイコンで視覚的に表現されます。
製品比較サイト
複数の製品を比較するために、各製品ノードに「性能」「コストパフォーマンス」「デザイン」「耐久性」の評価フィールドを追加。すべて同じ星(star)アイコンを使用するが、色を変えて(1-8の異なる色)各カテゴリを区別。管理者が各製品を評価し、Viewsで一覧表示することで製品比較表を作成できます。
旅行先ガイド
旅行先の情報ページに「交通アクセス」「宿泊施設」「観光スポット」「食事」の評価フィールドを追加。交通には飛行機(airplane)または車(car)アイコン、宿泊にはチェック(check)アイコン、観光にはスマイリー(smiley)アイコン、食事にはコーヒー(coffee)アイコンを使用。5段階評価で旅行計画の参考情報を提供します。
数値評価の表示
アイコンではなくテキストで評価を表示したい場合、Star rating valueフォーマッターを使用して「8」のように数値のみを表示、またはStar rating (e.g. 8/10)フォーマッターを使用して「8/10」のように分数形式で表示できます。これはアクセシビリティ対応やシンプルなデザインが必要な場合に便利です。
Tips
- カスタムアイコンを使用する場合は、css/custom.cssとcss/custom.pngを編集してください。画像は14x14ピクセルのアイコンを縦に並べたスプライト画像形式です。
- RTL(右から左)言語のサイトでは、CSSファイル内のfloat: leftをfloat: rightに変更してください。
- 各評価アイコンにはeven/oddクラスとs1, s2...s10クラスが付与されるため、CSS で特定の位置のアイコンだけスタイルを変更できます。
- 空白アイコン表示(fill_blank)を有効にすると、最大評価値が視覚的にわかりやすくなります。
- 同じコンテンツタイプに複数の評価フィールドを追加する場合、各フィールドで異なるアイコンタイプと色を設定すると識別しやすくなります。
- Viewsモジュールと組み合わせて、評価値でソートやフィルタリングが可能です。
Technical Details
Hooks 1
hook_theme
starrating_formatterテーマフックを登録するために実装。このフックにより、評価フィールドの表示をTwigテンプレートでカスタマイズ可能にします。
Troubleshooting 4
CSSファイルが正しく読み込まれているか確認してください。キャッシュをクリアし、ブラウザの開発者ツールでCSSとPNG画像のパスが正しいか確認してください。
フィールドの値が0の場合、isEmpty()メソッドにより空として扱われます。これは仕様です。評価なしを表現する場合は、フィールドを未入力のままにしてください。
css/custom.pngファイルを正しい形式(14x14ピクセルのスプライト画像)で作成し、css/custom.cssの背景位置が画像と一致しているか確認してください。キャッシュをクリアして再読み込みしてください。
モジュールディレクトリ内のcss/sample.pngファイルが存在し、Webサーバーからアクセス可能か確認してください。
Security Notes 1
- このモジュールはDrupal.orgのセキュリティアドバイザリーカバレッジ対象です。セキュリティ問題が発見された場合、公式チャンネルを通じて報告されます。