メインコンテンツに移動

メインナビゲーション

  • ホーム
  • サイトマップ
  • ビデオ
  • ご連絡

パンくず

  • ホーム
  • DrupalのFivestarモジュールの活用と設定

DrupalのFivestarモジュールの活用と設定

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
drupal
customization
node

Drupalのモジュール(Fivestar)のDBテーブルはモジュール(Voting API)に依存します

  • 背景:Drupal7、Fivestar7.x-2.2、Voting API7.x-2.12
  • モジュール(Fivestar)をカスタマイズしたり、評価操作ウィジェットをプログラムで出力したりしたい場合に、FivestarのDBテーブルを知ったほうが進みやすいでしょう
  • FivestarのDBテーブルがVoting APIのものに依存しています。テーブル名:votingapi_vote
    Drupalのモジュール(Fivestar)のDBテーブル構造
  • シンプルなテーブルですが、value,value_type,tagはFivestarに特殊な部分があります
    • tag: Fivestarの管理画面(ホーム » 管理 » 環境設定 » コンテンツ作成 » 五つ星評価)で設定したタグ名(複数の設定可能)
    • value_type: VoteAPIでは point, percent,optionsがあります 、Fivestarでは"percent"のみ使用
    • value: パーセントに応じての評価単位(例:五つ星の場合、20は一つ星になります)

プログラムでFivestarの評価ウィジェット部品をレンダリングする一番簡単な方法はDrupalのフィールドレンダリング方法です

  • FivestarがDrupalのフィールドシステムよりコンテンツに追加したので、レンダリングは当然Drupalのフィールドシステムを利用するのは一番簡単です
    // ノードの取得(もちろんエンティティ取得も可能)
    $node = node_load( $nid );
    
    // ノードのフィールドを取得する
     $fivestar = field_view_field('node', $node, 'YOU_FIELD_NAME', 'basic');
    
    // 取得したフィールドをレンダリングします
    render( $fivestar );
  • 単独でFivestarの評価ウィジェット部品をレンダリングすることには問題がないですが、複数の部分をレンダリングする場合に、パフォーマンスの問題が出るかもしれないです(nodeオブジェクトをレンダリング際に毎回取得するため)

複数のFivestar評価ウィジェット部分をレンダリングする場合「fivestar_custom_widget」フォームで生成します

  • モジュール(Fivestar)の評価ウィジェットフォーム(「fivestar_custom_widget」)があります
  • SQLでvoting_voteで複数のコンテンツ評価結果を取得します
  • モジュール(Fivestar)の評価設定をパラメーターを設定します
    // コンテンツ単位のFivestarでの評価結果
    $values = array(
    	'average' => $value, // average vote
    	'user' => $value,    // user vote
    	'count' => ($value)? 1 : 0,   // number of voting
    );
    
    // Fivestarの評価操作ウィジェットの設定
    $settings = array(
    	'content_type' => 'node',  // content_type and entity_type 両方必要
    	'entity_type' => 'node',  // content_typeと同じ設定
    	'entity_id' => $nid,     
    	'content_id' => $nid,
    	'stars' => 5,
    	'field_name' => 'field_ch_word_momoria',
    	'autosubmit' => TRUE,
    	'allow_clear' => FALSE,
    	'allow_revote' => TRUE,
    	'allow_ownvote' => TRUE,
    	'langcode' => 'und',
    	'text' => 'none',         // options are none, average, smart, user, and dual
    	'tag' => 'chinese_word',
    	'style' => 'user',        // options are average, dual, smart, user
    	'widget' => array( 'name' => 'basic', 'css' => drupal_get_path('module', 'fivestar') . '/widgets/basic/basic.css' ),
    );
    
    return render( drupal_get_form('fivestar_custom_widget', $values, $settings) ) ;
    
  • 複数の評価ウィジェットをレンダリングする場合、この方法ではパフォーマンスが良いです
     

 

drupal
video
module usage
node

Drupalの評価モジュール(Fivestar)の利用

  • 背景:Drupal7.54、Fivestar7.x-2.2
  • 各種コンテンツ(例:記事)にajaxでユーザーの評価、評価結果表示ができます
  • ユーザー単位の表示、全ユーザーの評価平均の表示ができます
  • コンテンツの編集画面/表示画面での評価設定ができます
  • 匿名ユーザーがコンテンツへの評価ができます
  • モジュール(Fivestar)のインストール、有効化、利用はビデオを参考にしてください

コンテンツの表示画面で評価できる/できない設定

  • コンテンツの評価機能をつけるために、Fivestarのフィールドを追加します
  • フィールドのウィジェットで3っつの評価操作オプションがあります:
    • Stars(rated while editing): コンテンツ(例:記事)の記事編集画面での評価(コンテンツ作成/編集権限のあるユーザーのみの評価)
    • Stars(rated while viwing):コンテンツ(例:記事)の表示画面での評価 (コンテンツの参照権限のユーザーが評価可能。匿名ユーザーが評価権限がある場合、ここで評価可能)
    • Select list(rated while editing):コンテンツ編集画面でのセレクトボックスで評価ランクを選択して評価します(ajaxではない、編集権限のあるユーザーのみ評価可能)
      Fivestarの評価操作ウィジェット

ユーザー単位での評価と全ユーザー評価の平均表示

  • ユーザー単位で評価を行います
  • ユーザー単位での評価回数がカウントされます
  • 評価結果はユーザー自分自身のものと全ユーザーの平均
    • ユーザー自身の評価結果のみの表示
    • 全ユーザーの評価平均結果のみの表示
    • ユーザー自身+全ユーザーの評価結果の表示
Embedded thumbnail for DrupalのFivestarモジュールの活用と設定
ホーム

古松

検索

Article Category

  • apache(7)
  • css(19)
  • drupal(295)
  • Electron(4)
  • html(34)
  • javascript(27)
  • laravel(4)
  • linux(5)
  • macOS(2)
  • mysql(13)
  • php(19)
  • python(4)
  • SEO(12)
  • video(72)
  • Visual Studio Code(4)
  • windows(13)
  • wordpress(32)