ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites開発者ガイド
11gリリース1 (11.1.1.8.0)
E49681-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

85 Community-Gadgets: Communityのウィジェット・タグの分析

Communityのそれぞれのウィジェットには独自のデプロイメント画面があり、そこにはウィジェットのタグが表示されます。この章では、それぞれのウィジェット・タグの中に定義されているパラメータの情報を提供します。

この章には次の項が含まれます。

85.1 「コメント」のウィジェット・タグ

ここでは、Webサイトへのコメント機能の追加に関連するウィジェット・タグを紹介します。

85.1.1 「コメント」ウィジェット・タグ

「コメントのデプロイメント」画面(メニュー・バーから「コメント」「デプロイ」「コメント」を選択してアクセスできる)では、デザイナに「コメント」ウィジェット・タグが提供されます。この項では、「コメント」ウィジェット・タグで定義されているパラメータを分析します。

「コメント」ウィジェット・タグ

  1. <div id="comments_container"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.comments",

  6. version: "1.5",

  7. elementID: "comments_container",

  8. attributes: {"site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.comments) == 'undefined')) {document.getElementById('comments_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Comments is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.comments');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「コメント」ウィジェット・タグの分析

  • 1は、ページ上の「コメント」ウィジェットを格納するコンテナを定義しています。「コメント」ウィジェットのこのインスタンスにリソースIDを割り当てた場合、この行にもウィジェットのリソースIDを指定します。例:

    <div id= "comments_container[resource_id]"></div>
    

    [resource_id]は、「コメント」ウィジェットのこのインスタンスに割り当てられたリソースIDです。


    注意:

    このウィジェット・タグのリソースIDを指定しないと、このウィジェット・タグがデプロイされるページの暗号化されたURLがウィジェットのリソースIDとして割り当てられます。


  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「コメント」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「コメント」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「コメント」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「コメント」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「コメント」ウィジェット・タグ(wsdk.comments)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-1 Webページに表示された「コメント」ウィジェット

図85-1の説明が続きます
「図85-1 Webページに表示された「コメント」ウィジェット」の説明

85.1.2 「コメント・サマリー」ウィジェット・タグ

「コメント・サマリーのデプロイメント」画面(メニュー・バーから「コメント」「デプロイ」「コメント・サマリー」を選択してアクセスできる)では、デザイナに「コメント・サマリー」ウィジェット・タグが提供されます。この項では、「コメント・サマリー」ウィジェット・タグで定義されているパラメータを分析します。

「コメント・サマリー」ウィジェット・タグ

  1. <div id="comments_summary_container[resource_id]"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "comments-summary",

  6. version: "0.1",

  7. elementID: "comments_summary_container[resource_id]",

  8. attributes: {"site_id":"FirstSiteII","resource_id":"[resource_id]","show_last_comment_date":"false"}});

  9. setTimeout(

  10. function(){if ((typeof(cos) == 'undefined')||(typeof(comments_summary) == 'undefined')) {document.getElementById('comments_summary_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Comments Summary is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('comments-summary');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「コメント・サマリー」ウィジェット・タグの分析

  • 1は、ページ上の「コメント・サマリー」ウィジェットを格納するコンテナを定義しています。「リソースID」フィールドに「コメント」ウィジェット・タグのリソースIDを指定した場合、この行にもそのリソースIDを指定します。例:

    <div id= "comments_summary_container[resource_id]"></div>
    

    [resource_id]は、目的の「コメント」ウィジェットのリソースIDです。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「コメント・サマリー」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「コメント・サマリー」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「コメント・サマリー」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「コメント・サマリー」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「コメント・サマリー」ウィジェット・タグ(comments-summary)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-2 Webページに表示された「コメント・サマリー」ウィジェット

図85-2の説明が続きます
「図85-2 Webページに表示された「コメント・サマリー」ウィジェット」の説明

85.1.3 「トピックへのリンク」ウィジェット・タグ

「トピックへのリンクのデプロイメント」画面(メニュー・バーから「コメント」「デプロイ」「トピックへのリンク」を選択してアクセスできる)では、デザイナに「トピックへのリンク」ウィジェット・タグが提供されます。この項では、「トピックへのリンク」ウィジェット・タグで定義されているパラメータを分析します。

「トピックへのリンク」ウィジェット・タグ

  1. <a href="[resource_url]#comments_link&resource_id=[resource_id]" ></a>

  2. <div id="comments_link_div[random]"></div>

  3. <script type="text/javascript">

  4. cos = window.cos || {};

  5. cos.pageWidgets = cos.pageWidgets || [];

  6. cos.pageWidgets.push({name: "comments-link",

  7. version: "0.1",

  8. elementID: "comments_link_div[random]",

  9. attributes: {"site_id":"FirstSiteII"}});

  10. cos.pageScripts = cos.pageScripts || [];

  11. cos.pageScripts.push('comments-link');

  12. (function()

  13. {

  14. var oldOnloadHandler = window.onload || function()

  15. {

  16. };

  17. if (!oldOnloadHandler.alreadyProcessed)

  18. {

  19. window.onload = function()

  20. {

  21. var script = document.createElement('script');

  22. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  23. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  24. script.type = 'text/javascript';

  25. script.charset = 'utf-8';

  26. document.getElementsByTagName("head").item(0) .appendChild(script);

  27. oldOnloadHandler.apply(this, arguments);

  28. };

  29. window.onload.alreadyProcessed = true;

  30. }

  31. })();

  32. </script>

「トピックへのリンク」ウィジェット・タグの分析

  • 1は、目的の「コメント」ウィジェット・タグがデプロイされるWebページへのリンクであり、「トピックへのリンクのデプロイメント」画面の「リソースID」フィールドおよび「リソースURL」フィールドに値を入力するとタグに自動的に追加されます。

  • 2は、ページ上の「トピックへのリンク」ウィジェットを格納するコンテナを定義しています。

  • 3は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 4は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 5は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 6から9は、「トピックへのリンク」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行5で定義)に新しいエレメントを追加しています。行8には、行2で定義されているコンテナの内部に「トピックへのリンク」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 10は、ページにデプロイされているスクリプトのリストを定義しています。スクリプトがデプロイされていない場合、このリストの値は空のままです。

  • 11は、「トピックへのリンク」ウィジェット・タグ(comments-link)をページ・スクリプトのリスト(行10で定義)に追加しています。

  • 14は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 17は、onload関数がすでに処理されているかどうかをチェックしています。

  • 19は、ページのロード時に実行されるコードをオーバーライドしています。

  • 21から26は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 27は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 29は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 32は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

85.1.3.1 「トピックへのリンク」ウィジェット・タグ(「コメント」用)のデプロイ

「トピックへのリンク」ウィジェットを構成して、「コメント」(および「レビュー」)ウィジェットがデプロイされる複数のWebページのサマリー情報およびそれらのページへのリンクを表示するには、目的のWebページにデプロイされる各「コメント」ウィジェットまたは「レビュー」ウィジェット(あるいはその両方)のリソースIDおよびリソースURLを、「トピックへのリンク」ウィジェット・タグに挿入する必要があります。


注意:

「コメント」ウィジェットと「レビュー」ウィジェットは、同一の「トピックへのリンク」ウィジェット・タグの中で指定できます。「トピックへのリンク」タグでの「レビュー」ウィジェットの指定の詳細は、第85.2.3.1項「「トピックへのリンク」ウィジェット・タグ(「レビュー」用)のデプロイ」を参照してください。


例:

  1. メニュー・バーで、「コメント」「デプロイ」「トピックへのリンク」を選択します。

  2. 「トピックへのリンクのデプロイメント」画面で、「トピックへのリンク」ウィジェット・タグをコピー([Ctrl]+[C])します。

  3. WebCenter SitesのAdminインタフェースにアクセスし、「トピックへのリンク」ウィジェット・タグを目的のテンプレートに挿入します。手順は、『Oracle Fusion Middleware WebCenter Sitesユーザーズ・ガイド』を参照してください。

  4. 「トピックへのリンク」ウィジェット・タグの行1に、「トピックへのリンク」ウィジェットによってサマリー情報とリンクが表示される、デプロイ済の各「コメント」ウィジェットまたは「レビュー」ウィジェット(あるいはその両方)のリソースIDを指定します。例:

    「トピックへのリンク」ウィジェット・タグ内で指定するすべての「コメント」ウィジェットで、次の行を追加します。

    <a href="http://URL#comments_link&resource_id=CommentsID"></a>
    

    http://URLは、目的の「コメント」ウィジェットのデプロイ先であるWebページのパスです。

  5. 「変更の保存」をクリックします。

  6. ページのプレビューを行い、Webサイトにテンプレートを公開します。手順は、『Oracle Fusion Middleware WebCenter Sitesユーザーズ・ガイド』および『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。

図85-3 Webページに表示された「トピックへのリンク」ウィジェット

図85-3の説明が続きます
「図85-3 Webページに表示された「トピックへのリンク」ウィジェット」の説明


注意:

「トピックへのリンク」ウィジェットをデプロイしても、タイトルは表示されません。「トピックへのリンク」ウィジェットでタイトルを表示するには、「トピックへのリンク」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.1.4 「最近コメントされた」ウィジェット・タグ

「最近コメントされたデプロイメント」画面(メニュー・バーから「コメント」「デプロイ」「最近コメントされた」を選択してアクセスできる)では、デザイナに「最近コメントされた」ウィジェット・タグが提供されます。この項では、「最近コメントされた」ウィジェット・タグで定義されているパラメータを分析します。

「最近コメントされた」ウィジェット・タグ

  1. <div id="topics_container_recently_commented_other"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.topics",

  6. version: "1.5",

  7. elementID: "topics_container_recently_commented_other",

  8. attributes: {"content_type":"recently_commented","site_id":"FirstSiteII","resource_type":"other"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.topics) == 'undefined')) {document.getElementById('topics_container_recently_commented_other').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Topics is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.topics');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「最近コメントされた」ウィジェット・タグの分析

  • 1は、ページ上の「最近コメントされた」ウィジェットを格納するコンテナを定義しています。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「最近コメントされた」ウィジェット・タグを定義し、ウィジェット・タグのリスト(4行で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「最近コメントされた」ウィジェットをレンダリングする際に使用されるリンクが含まれています。行8は、「最近コメントされた」ウィジェットがリストするトピックのタイプを含め、「最近コメントされた」ウィジェット・タグの設定を指定しています。「最近コメントされた」ウィジェットにリスト内のすべてのタイプのトピックを含める場合は、"resource_type":"other"パラメータを削除します。

  • 9から11は、「最近コメントされた」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「最近コメントされた」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「最近コメントされた」ウィジェット・タグ(wsdk.topics)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-4 Webページに表示された「最近コメントされた」ウィジェット

図85-4の説明が続きます
「図85-4 Webページに表示された「最近コメントされた」ウィジェット」の説明


注意:

「最近コメントされた」ウィジェットをデプロイしても、タイトルは表示されません(図85-4を参照)。「最近コメントされた」ウィジェットでタイトルを表示するには、「最近コメントされた」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.1.5 「最もコメントが多い」ウィジェット・タグ

「最もコメントが多いデプロイメント」画面(メニュー・バーから「コメント」「デプロイ」「最もコメントが多い」を選択してアクセスできる)では、デザイナに「最もコメントが多い」ウィジェット・タグが提供されます。この項では、「最もコメントが多い」ウィジェット・タグで定義されているパラメータを分析します。

「最もコメントが多い」ウィジェット・タグ

  1. <div id="topics_container_most_commented_other"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.topics",

  6. version: "1.5",

  7. elementID: "topics_container_most_commented_other",

  8. attributes: {"content_type":"most_commented","site_id":"FirstSiteII","resource_type":"other"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.topics) == 'undefined')) {document.getElementById('topics_container_most_commented_other').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Topics is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.topics');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「最もコメントが多い」ウィジェット・タグの分析

  • 1は、ページ上の「最もコメントが多い」ウィジェットを格納するコンテナを定義しています。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「最もコメントが多い」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「最もコメントが多い」ウィジェットをレンダリングする際に使用されるリンクが含まれています。行8は、「最もコメントが多い」ウィジェットがリストするトピックのタイプを含め、「最もコメントが多い」ウィジェット・タグの設定を指定しています。「最もコメントが多い」ウィジェットにリスト内のすべてのタイプのトピックを含める場合は、"resource_type":"other"パラメータを削除します。

  • 9から11は、「最もコメントが多い」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「最もコメントが多い」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているページ・スクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「最もコメントが多い」ウィジェット・タグ(wsdk.topics)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-5 Webページに表示された「最もコメントが多い」ウィジェット

図85-5の説明が続きます
「図85-5 Webページに表示された「最もコメントが多い」ウィジェット」の説明


注意:

「最もコメントが多い」ウィジェットをデプロイしても、タイトルは表示されません(図85-5を参照)。「最もコメントが多い」ウィジェットでタイトルを表示するには、「最もコメントが多い」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.2 「レビュー」のウィジェット・タグ

ここでは、Webサイトへのレビュー機能の追加に関連するウィジェット・タグを紹介します。

85.2.1 「レビュー」ウィジェット・タグ

「レビューのデプロイメント」画面(メニュー・バーから「レビュー」「デプロイ」「レビュー」を選択してアクセスできる)では、デザイナに「レビュー」ウィジェット・タグが提供されます。この項では、「レビュー」ウィジェット・タグで定義されているパラメータを分析します。

「レビュー」ウィジェット・タグ

  1. <div id="reviews_container"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.reviews",

  6. version: "1.5",

  7. elementID: "reviews_container",

  8. attributes: {"site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.reviews) == 'undefined')) {document.getElementById('reviews_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Reviews is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.reviews');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「レビュー」ウィジェット・タグの分析

  • 1は、ページ上の「レビュー」ウィジェットを格納するコンテナを定義しています。「レビュー」ウィジェット・タグのこのインスタンスにリソースIDを割り当てた場合、この行にもウィジェットのリソースIDを指定します。例:

    <div id= "reviews_container[resource_id]"></div>
    

    [resource_id]は、「レビュー」ウィジェットのこのインスタンスに割り当てられたリソースIDです。


    注意:

    このウィジェットのリソースIDを指定しないと、このウィジェット・タグがデプロイされるページの暗号化されたURLがウィジェットのリソースIDとして割り当てられます。


  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「レビュー」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「レビュー」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「レビュー」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「レビュー」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているページ・スクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「レビュー」ウィジェット・タグ(wsdk.reviews)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-6 Webページに表示された「レビュー」ウィジェット

図85-6の説明が続きます
「図85-6 Webページに表示された「レビュー」ウィジェット」の説明

85.2.2 「レビュー・サマリー」ウィジェット・タグ

「レビュー・サマリーのデプロイメント」画面(メニュー・バーから「レビュー」「デプロイ」「レビュー・サマリー」を選択してアクセスできる)では、デザイナに「レビュー・サマリー」ウィジェット・タグが提供されます。この項では、「レビュー・サマリー」ウィジェット・タグで定義されているパラメータを分析します。

「レビュー・サマリー」ウィジェット・タグ

  1. <div id="reviews_summary_container[resource_id]"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "reviews-summary",

  6. version: "0.1",

  7. elementID: "reviews_summary_container[resource_id]",

  8. attributes: {"site_id":"FirstSiteII","resource_id":"[resource_id]","show_last_comment_date

  9. setTimeout(

  10. function(){if ((typeof(cos) == 'undefined')||(typeof(cos.reviews-summary) == 'undefined')) {document.getElementById('reviews_summary_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Reviews Summary is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('reviews-summary');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「レビュー・サマリー」ウィジェット・タグの分析

  • 1は、ページ上の「レビュー・サマリー」ウィジェットを格納するコンテナを定義しています。「レビュー・サマリー」ウィジェット・タグのこのインスタンスに「レビュー」ウィジェットのリソースIDを指定した場合、この行にも「レビュー」ウィジェットのリソースIDを指定します。例:

    <div id= "reviews_summary_container[resource_id]></div>
    

    [resource_id]は、目的の「レビュー」ウィジェットのリソースIDです。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「レビュー・サマリー」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「レビュー・サマリー」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「レビュー・サマリー」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「レビュー・サマリー」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「レビュー・サマリー」ウィジェット・タグ(reviews-summary)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-7 Webページに表示された「レビュー・サマリー」ウィジェット

図85-7の説明が続きます
「図85-7 Webページに表示された「レビュー・サマリー」ウィジェット」の説明

85.2.3 「トピックへのリンク」ウィジェット・タグ

「トピックへのリンクのデプロイメント」画面(メニュー・バーから「レビュー」「デプロイ」「トピックへのリンク」を選択してアクセスできる)では、デザイナに「トピックへのリンク」ウィジェット・タグが提供されます。この項では、「トピックへのリンク」ウィジェット・タグで定義されているパラメータを分析します。

「トピックへのリンク」ウィジェット・タグ

  1. <a href="[resource_url]#reviews_link&resource_id=[resource_id]" ></a>

  2. <div id="comments_link_div[random]"></div>

  3. <script type="text/javascript">

  4. cos = window.cos || {};

  5. cos.pageWidgets = cos.pageWidgets || [];

  6. cos.pageWidgets.push({name: "comments-link",

  7. version: "0.1",

  8. elementID: "comments_link_div[random]",

  9. attributes: {"site_id":'FirstSiteII'}});

  10. cos.pageScripts = cos.pageScripts || [];

  11. cos.pageScripts.push('comments-link');

  12. (function()

  13. {

  14. var oldOnloadHandler = window.onload || function()

  15. {

  16. };

  17. if (!oldOnloadHandler.alreadyProcessed)

  18. {

  19. window.onload = function()

  20. {

  21. var script = document.createElement('script');

  22. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  23. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  24. script.type = 'text/javascript';

  25. script.charset = 'utf-8';

  26. document.getElementsByTagName("head").item(0) .appendChild(script);

  27. oldOnloadHandler.apply(this, arguments);

  28. };

  29. window.onload.alreadyProcessed = true;

  30. }

  31. })();

  32. </script>

「トピックへのリンク」ウィジェット・タグの分析

  • 1は、目的の「レビュー」ウィジェット・タグがデプロイされるWebページへのリンクであり、「トピックへのリンクのデプロイメント」画面の「リソースID」フィールドおよび「リソースURL」フィールドに値を入力するとタグに自動的に追加されます。

  • 2は、ページ上の「トピックへのリンク」ウィジェットを格納するコンテナを定義しています。

  • 3は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 4は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 5は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 6から9は、「トピックへのリンク」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行5で定義)に新しいエレメントを追加しています。行8には、行2で定義されているコンテナの内部に「トピックへのリンク」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 10は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 11は、「トピックへのリンク」ウィジェット・タグ(comments-link)をページ・スクリプトのリスト(行10で定義)に追加しています。

  • 14は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックが存在しない場合、この関数は空のままになります。

  • 17は、onload関数がすでに処理されているかどうかをチェックしています。

  • 19は、ページのロード時に実行されるコードをオーバーライドしています。

  • 21から26は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトが含まれます。

  • 27は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 29は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 32は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

85.2.3.1 「トピックへのリンク」ウィジェット・タグ(「レビュー」用)のデプロイ

「トピックへのリンク」ウィジェットを構成して、「レビュー」ウィジェットまたは「コメント」ウィジェット(あるいはその両方)がデプロイされる複数のWebページのサマリー情報およびそれらのページへのリンクを表示するには、目的のWebページにデプロイされる各「レビュー」ウィジェットまたは「コメント」ウィジェット(あるいはその両方)のリソースIDおよびリソースURLを、「トピックへのリンク」ウィジェット・タグに挿入する必要があります。


注意:

「レビュー」ウィジェットと「コメント」ウィジェットは、同一の「トピックへのリンク」ウィジェット・タグの中で指定できます。「コメント」ウィジェットの指定の詳細は、第85.1.3.1項「「トピックへのリンク」ウィジェット・タグ(「コメント」用)のデプロイ」を参照してください。


例:

  1. メニュー・バーで、「レビュー」「デプロイ」「トピックへのリンク」を選択します。

  2. 「トピックへのリンクのデプロイメント」画面で、「トピックへのリンク」ウィジェット・タグをコピー([Ctrl]+[C])します。

  3. WebCenter SitesのAdminインタフェースにアクセスし、「トピックへのリンク」ウィジェット・タグを目的のテンプレートに挿入します。手順は、『Oracle Fusion Middleware WebCenter Sitesユーザーズ・ガイド』を参照してください。

  4. 「トピックへのリンク」ウィジェット・タグの行1に、「トピックへのリンク」ウィジェットによってサマリー情報とリンクが表示される、デプロイ済の各「レビュー」ウィジェットまたは「コメント」ウィジェット(あるいはその両方)のリソースIDとリソースURLを指定します。例:

    「トピックへのリンク」ウィジェット・タグ内で指定するすべての「レビュー」ウィジェットで、次の行を追加します。

    <a href="http://URL#reviews_link&resource_id+ReviewsID"></a>
    

    http://URLは、目的の「レビュー」ウィジェットのデプロイ先であるWebページのパスです。

  5. 「変更の保存」をクリックします。

  6. ページのプレビューを行い、Webサイトにテンプレートを公開します。手順は、『Oracle Fusion Middleware WebCenter Sitesユーザーズ・ガイド』および『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。

図85-8 Webページに表示された「トピックへのリンク」ウィジェット

図85-8の説明が続きます
「図85-8 Webページに表示された「トピックへのリンク」ウィジェット」の説明


注意:

「トピックへのリンク」ウィジェットをデプロイしても、タイトルは表示されません。「トピックへのリンク」ウィジェットでタイトルを表示するには、「トピックへのリンク」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.2.4 「平均評価のレビュー」ウィジェット・タグ

「レビューの平均評価のデプロイメント」画面(メニュー・バーから「レビュー」「デプロイ」「平均評価」を選択してアクセスできる)では、デザイナに「平均評価のレビュー」ウィジェット・タグが提供されます。この項では、「平均評価のレビュー」ウィジェット・タグで定義されているパラメータを分析します。

「平均評価のレビュー」ウィジェット・タグ

  1. <divid="reviews_average_container[resource_id]"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.reviews_average",

  6. version: "1.5",

  7. elementID: "reviews_average_container[resource_id]",

  8. attributes: {"site_id":"FirstSiteII","resource_id":"[resource_id]"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined')||(typeof(wsdk.reviews_average) == 'undefined')) {document.getElementById('reviews_average_container[resource_id]').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Reviews Average Rating is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.reviews_average');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「平均評価のレビュー」ウィジェット・タグの分析

  • 1は、ページ上の「平均評価のレビュー」ウィジェットを保持するコンテナを定義しています。Webページにデプロイされる「レビュー」ウィジェットのリソースIDを指定する必要があります。 その平均評価は、「平均評価のレビュー」ウィジェットに表示されます。例:

    <div id="reviews_average_container[resource_id]"></div>
    

    [resource_id]は、目的の「レビュー」ウィジェットのリソースIDです。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「平均評価のレビュー」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「平均評価のレビュー」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「平均評価のレビュー」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「平均評価のレビュー」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「平均評価のレビュー」ウィジェット・タグ(wsdk.reviews_average)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックが存在しない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

85.2.5 「上位ランクのレビュー」ウィジェット・タグ

「上位ランクのレビューのデプロイメント」画面(メニュー・バーから「レビュー」「デプロイ」「上位ランクのトピック」を選択してアクセスできる)では、デザイナに「上位ランクのレビュー」ウィジェット・タグが提供されます。この項では、「上位ランクのトピック」ウィジェット・タグで定義されているパラメータを分析します。

「上位ランクのレビュー」ウィジェット・タグ

  1. <div id="topics_container_top_ranked_other"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.topics",

  6. version: "1.5",

  7. elementID: "topics_container_top_ranked_other",

  8. attributes: {"content_type":"top_ranked","site_id":"FirstSiteII","resource_type":"other","rating_type":"stars"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.topics) == 'undefined')) {document.getElementById('topics_container_top_ranked_other').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Topics is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.topics');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「上位ランクのレビュー」ウィジェット・タグの分析

  • 1は、ページ上の「上位ランクのレビュー」ウィジェットを格納するコンテナを定義しています。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「上位ランクのレビュー」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「上位ランクのレビュー」ウィジェットをレンダリングする際に使用されるリンクが含まれています。行8は、「上位ランクのレビュー」ウィジェットがリストするトピックのタイプを含め、「上位ランクのレビュー」ウィジェット・タグの設定を指定しています。「上位ランクのレビュー」ウィジェットにリスト内のすべてのタイプのトピックを含める場合は、"resource_type":"other"パラメータを削除します。

  • 9から11は、「上位ランクのレビュー」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「上位ランクのレビュー」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「上位ランクのレビュー」ウィジェット・タグ(wsdk.topics)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-9 Webページに表示された「上位ランクのレビュー」ウィジェット

図85-9の説明が続きます
「図85-9 Webページに表示された「上位ランクのレビュー」ウィジェット」の説明

85.2.6 「最近レビューされた」ウィジェット・タグ

「最近レビューされたデプロイメント」画面(メニュー・バーから「レビュー」「デプロイ」「最近レビューされた」を選択してアクセスできる)では、デザイナに「最近レビューされた」ウィジェット・タグが提供されます。この項では、「最近レビューされた」ウィジェット・タグで定義されているパラメータを分析します。

「最近レビューされた」ウィジェット・タグ

  1. <div id="topics_container_recently_reviewed_other"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.topics",

  6. version: "1.5",

  7. elementID: "topics_container_recently_reviewed_other",

  8. attributes: {"content_type":"recently_reviewed","site_id":"FirstSiteII","resource_type":"other"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.topics) == 'undefined')) {document.getElementById('topics_container_recently_reviewed_other').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Topics is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.topics');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「最近レビューされた」ウィジェット・タグの分析

  • 1では、ページ上の「最近レビューされた」ウィジェットを格納するコンテナを定義しています。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェット・タグがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「最近レビューされた」ウィジェット・タグを定義し、ウィジェット・タグのリスト(4行で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「最近レビューされた」ウィジェットをレンダリングする際に使用されるリンクが含まれています。行8は、「最近レビューされた」ウィジェットがリストするトピックのタイプを含め、「最近レビューされた」ウィジェット・タグの設定を指定しています。「最近レビューされた」ウィジェットにリスト内のすべてのタイプのトピックを含める場合は、"resource_type":"other"パラメータを削除します。

  • 9から11は、「最近レビューされた」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「最近レビューされた」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「最近レビューされた」ウィジェット・タグ(wsdk.topics)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-10 Webページに表示された「最近レビューされた」ウィジェット

図85-10の説明が続きます
「図85-10 Webページに表示された「最近レビューされた」ウィジェット」の説明


注意:

「最近レビューされた」ウィジェットをデプロイしても、タイトルは表示されません(図85-10を参照)。「最近レビューされた」ウィジェットでタイトルを表示するには、「最近レビューされた」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.2.7 「最もレビューされている」ウィジェット・タグ

「最もレビューされているデプロイメント」画面(メニュー・バーから「レビュー」「デプロイ」「最もレビューされている」を選択してアクセスできる)では、デザイナに「最もレビューされている」ウィジェット・タグが提供されます。この項では、「最もレビューされている」ウィジェット・タグで定義されているパラメータを分析します。

「最もレビューされている」ウィジェット・タグ

  1. <div id="topics_container_most_reviewed_other"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.topics",

  6. version: "1.5",

  7. elementID: "topics_container_most_reviewed_other",

  8. attributes: {"content_type":"most_reviewed","site_id":"FirstSiteII","resource_type":"other"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.topics) == 'undefined')) {document.getElementById('topics_container_most_reviewed_other').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Topics is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.topics');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「最もレビューされている」ウィジェット・タグの分析

  • 1は、ページ上の「最もレビューされている」ウィジェットを格納するコンテナを定義しています。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「最もレビューされている」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「最もレビューされている」ウィジェットをレンダリングする際に使用されるリンクが含まれています。行8は、「最もレビューされている」ウィジェットがリストするトピックのタイプを含め、「最もレビューされている」ウィジェット・タグの設定を指定しています。「最もレビューされている」ウィジェットにリスト内のすべてのタイプのトピックを含める場合は、"resource_type":"other"パラメータを削除します。

  • 9から11は、「最もレビューされている」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「最もレビューされている」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。そのようなスクリプトがデプロイされていない場合、このリストの値は空になります。

  • 13は、「最もレビューされている」ウィジェット・タグ(wsdk.topics)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-11 Webページに表示された「最もレビューされている」ウィジェット

図85-11の説明が続きます
「図85-11 Webページに表示された「最もレビューされている」ウィジェット」の説明


注意:

「最もレビューされている」ウィジェットをデプロイしても、タイトルは表示されません(図85-11を参照)。「最もレビューされている」ウィジェットにタイトルを表示するには、「最もレビューされている」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.3 「評価」のウィジェット・タグ

ここでは、Webサイトへの評価機能の追加に関連するウィジェット・タグを紹介します。

85.3.1 「星評価」ウィジェット・タグ

「星評価のデプロイメント」画面(メニュー・バーから「評価」「デプロイ」「星評価」を選択してアクセスできる)では、デザイナに「星評価」ウィジェット・タグが提供されます。この項では、「星評価」ウィジェット・タグで定義されているパラメータを分析します。

「星評価」ウィジェット・タグ

  1. <div id="ratingsstars_container"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.ratings",

  6. version: "1.5",

  7. elementID: "ratingsstars_container",

  8. attributes: {"rating_type":"stars","site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.ratings) == 'undefined')) {document.getElementById('ratings_stars_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Ratings is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.ratings');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「星評価」ウィジェット・タグの分析

  • 1は、ページ上の「星評価」ウィジェットを格納するコンテナを定義しています。「星評価」ウィジェット・タグのこのインスタンスにリソースIDを割り当てた場合、この行にもウィジェットのリソースIDを指定します。例:

    <divid="ratingsstars_container[resource_id]"></div>
    

    [resource_id]は、「星評価」ウィジェットのこのインスタンスに割り当てられたリソースIDです。


    注意:

    このウィジェット・タグのリソースIDを指定しないと、このウィジェット・タグがデプロイされるページの暗号化されたURLがウィジェットのリソースIDとして割り当てられます。


  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「星評価」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「星評価」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「星評価」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「星評価」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「星評価」ウィジェット・タグ(wsdk.ratings)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-12 Webページにデプロイされた「星評価」ウィジェット

図85-12の説明が続きます
「図85-12 Webページにデプロイされた「星評価」ウィジェット」の説明

85.3.2 「サムズ・アップ/ダウン評価」ウィジェット・タグ

「サムズ・アップ/ダウン評価のデプロイメント」画面(メニュー・バーから「評価」「デプロイ」「サムズ・アップ/ダウン評価」を選択してアクセスできる)では、デザイナに「サムズ・アップ/ダウン評価」ウィジェット・タグが提供されます。この項では、「サムズ・アップ/ダウン評価」ウィジェット・タグで定義されているパラメータを分析します。

「サムズ・アップ/ダウン評価」ウィジェット・タグ

  1. <div id="ratingsthumbs_container"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.ratings",

  6. version: "1.5",

  7. elementID: "ratingsthumbs_container",

  8. attributes: {"rating_type":"thumbs","site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.ratings) == 'undefined')) {document.getElementById('ratings_thumbs_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Ratings is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.ratings');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「サムズ・アップ/ダウン評価」ウィジェット・タグの分析

  • 1は、ページ上の「サムズ・アップ/ダウン評価」ウィジェットを格納するコンテナを定義しています。「サムズ・アップ/ダウン評価」ウィジェットのこのインスタンスにリソースIDを割り当てた場合、この行にもそのリソースIDを指定します。例:

    <div id="ratingsthumbs_container[resource_id]"></div>
    

    [resource_id]は、「サムズ・アップ/ダウン評価」ウィジェットのこのインスタンスに割り当てられたリソースIDです。


    注意:

    このウィジェット・タグのリソースIDを指定しないと、このウィジェット・タグがデプロイされるページの暗号化されたURLがウィジェットのリソースIDとして割り当てられます。


  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「サムズ・アップ/ダウン評価」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「サムズ・アップ/ダウン評価」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「サムズ・アップ/ダウン評価」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「サムズ・アップ/ダウン評価」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「サムズ・アップ/ダウン評価」ウィジェット・タグ(wsdk.ratings)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-13 Webページに表示された「サムズ・アップ/ダウン評価」ウィジェット

図85-13の説明が続きます
「図85-13 Webページに表示された「サムズ・アップ/ダウン評価」ウィジェット」の説明

85.3.3 「Like評価」ウィジェット・タグ

「Like評価のデプロイメント」画面(メニュー・バーから「評価」「デプロイ」「Like評価」を選択してアクセスできる)では、デザイナに「Like評価」ウィジェット・タグが提供されます。この項では、「Like評価」ウィジェット・タグで定義されているパラメータを分析します。

「Like評価」ウィジェット・タグ

  1. <div id="ratingslike_it_container"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.ratings",

  6. version: "1.5",

  7. elementID: "ratingslike_it_container",

  8. attributes: {"rating_type":"like_it","site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.ratings) == 'undefined')) {document.getElementById('ratingslike_it_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Ratings is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.ratings');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「Like評価」ウィジェット・タグの分析

  • 1は、ページ上の「Like評価」ウィジェットを格納するコンテナを定義しています。「Like評価」ウィジェットのこのインスタンスにリソースIDを割り当てた場合、この行にもウィジェットのリソースIDを指定します。例:

    <div id="ratingslike_it_container[resource_id]"></div>
    

    [resource_id]は、「Like評価」ウィジェットのこのインスタンスに割り当てられたリソースIDです。


    注意:

    このウィジェット・タグのリソースIDを指定しないと、このウィジェット・タグがデプロイされるページの暗号化されたURLがウィジェットのリソースIDとして割り当てられます。


  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「Like評価」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「Like評価」ウィジェット・タグをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「Like評価」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「Like評価」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「Like評価」ウィジェット・タグ(wsdk.ratings)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-14 Webページに表示された「Like評価」ウィジェット

図85-14の説明が続きます
「図85-14 Webページに表示された「Like評価」ウィジェット」の説明

85.3.4 「お薦め評価」ウィジェット・タグ

「お薦め評価のデプロイメント」画面(メニュー・バーから「評価」「デプロイ」「お薦め評価」を選択してアクセスできる)では、デザイナに「お薦め評価」ウィジェット・タグが提供されます。この項では、「お薦め評価」ウィジェット・タグで定義されているパラメータを分析します。

「お薦め評価」ウィジェット・タグ

  1. <div id="ratingsrecommend_container"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.ratings",

  6. version: "1.5",

  7. elementID: "ratingsrecommend_container",

  8. attributes: {"rating_type":"recommend","site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.ratings) == 'undefined')) {document.getElementById('ratingsrecommend_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Ratings is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.ratings');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「お薦め評価」ウィジェット・タグの分析

  • 1は、ページ上の「お薦め評価」ウィジェットを格納するコンテナを定義しています。「お薦め評価」ウィジェットのこのインスタンスにリソースIDを割り当てた場合、この行にもウィジェットのリソースIDを指定します。例:

    <div id="ratingsrecommend_container[resource_id]"></div>
    

    [resource_id]は、「お薦め評価」ウィジェットのこのインスタンスに割り当てられたリソースIDです。


    注意:

    このウィジェット・タグのリソースIDを指定しないと、このウィジェット・タグがデプロイされるページの暗号化されたURLがウィジェットのリソースIDとして割り当てられます。


  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「お薦め評価」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「お薦め評価」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「お薦め評価」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「お薦め評価」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「お薦め評価」ウィジェット・タグ(wsdk.ratings)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-15 Webページに表示された「お薦め評価」ウィジェット

図85-15の説明が続きます
「図85-15 Webページに表示された「お薦め評価」ウィジェット」の説明

85.3.5 「評価の平均評価」ウィジェット・タグ

「評価の平均評価のデプロイメント」画面(メニュー・バーから「評価」「デプロイ」「平均評価」を選択してアクセスできる)では、デザイナに「評価の平均評価」ウィジェット・タグが提供されます。この項では、「評価の平均評価」ウィジェット・タグで定義されているパラメータを分析します。

「評価の平均評価」ウィジェット・タグ

  1. <div id="ratings_average_container[resource_id]"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.ratings_average",

  6. version: "1.5",

  7. elementID: "ratings_average_container[resource_id]",

  8. attributes: {"site_id":"FirstSiteII","resource_id":"[resource_id]"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined')||(typeof(wsdk.ratings_average) == 'undefined')) {document.getElementById('ratings_average_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Average Rating is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.ratings_average');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「評価の平均評価」ウィジェット・タグの分析

  • 1は、ページ上の「評価の平均評価」ウィジェットを格納するコンテナを定義しています。Webページにデプロイされる「星評価」ウィジェット・タグのリソースIDを指定する必要があります。その平均評価は、「評価の平均評価」ウィジェットに表示されます。例:

    <div id="ratings_average_container[resource_id]"></div>
    

    [resource_id]は、Webページにデプロイされる「星評価」ウィジェットのリソースIDです。このウィジェットの平均評価が、「評価の平均評価」ウィジェットによって表示されます。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「評価の平均評価」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7は、行1で定義されているコンテナの内部に「評価の平均評価」ウィジェット・タグをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「評価の平均評価」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「評価の平均評価」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「評価の平均評価」ウィジェット・タグ(wsdk.ratings_average)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックが存在しない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

85.3.6 「最近評価された」ウィジェット・タグ

「最近評価されたデプロイメント」画面(メニュー・バーから「評価」「デプロイ」「最近評価された」を選択してアクセスできる)では、デザイナに「最近評価された」ウィジェット・タグが提供されます。この項では、「最近評価された」ウィジェット・タグで定義されているパラメータを分析します。

「最近評価された」ウィジェット・タグ

  1. <div id="topics_container_recently_rated_other"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.topics",

  6. version: "1.5",

  7. elementID: "topics_container_recently_rated_other",

  8. attributes: {"content_type":"recently_rated","site_id":"FirstSiteII","resource_type":"other"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.topics) == 'undefined')) {document.getElementById('topics_container_recently_rated_other').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Topics is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.topics');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「最近評価された」ウィジェット・タグの分析

  • 1は、ページ上の「最近評価された」ウィジェットを格納するコンテナを定義しています。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「最近評価された」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「最近評価された」ウィジェットをレンダリングする際に使用されるリンクが含まれています。行8は、「最近評価された」ウィジェットがリストするトピックのタイプを含め、「最近評価された」ウィジェット・タグの設定を指定しています。「最近評価された」ウィジェットにリスト内のすべてのタイプのトピックを含める場合は、"resource_type":"other"パラメータを削除します。

  • 9から11は、「最近評価された」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「最近評価された」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「最近評価された」ウィジェット・タグ(wsdk.topics)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-16 Webページに表示された「最近評価された」ウィジェット

図85-16の説明が続きます
「図85-16 Webページに表示された「最近評価された」ウィジェット」の説明


注意:

「最近評価された」ウィジェットをデプロイしても、タイトルは表示されません(図85-16を参照)。「最近評価された」ウィジェットにタイトルを表示するには、「最近評価された」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.3.7 「最も評価が高い」ウィジェット・タグ

「最も評価が高いデプロイメント」画面(メニュー・バーから「評価」「デプロイ」「最も評価が高い」を選択してアクセスできる)では、デザイナに「最も評価が高い」ウィジェット・タグが提供されます。この項では、「最も評価が高い」ウィジェット・タグで定義されているパラメータを分析します。

「最も評価が高い」ウィジェット・タグ

  1. <div id="topics_container_most_rated_other"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.topics",

  6. version: "1.5",

  7. elementID: "topics_container_most_rated_other",

  8. attributes: {"content_type":"most_rated","site_id":"FirstSiteII"'"resource_type":"other"}});

  9. setTimeout(

  10. function(){if ((typeof(wsdk) == 'undefined') || (typeof(wsdk.topics) == 'undefined')) {document.getElementById('topics_container_most_rated_other').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Topics is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.topics');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「最も評価が高い」ウィジェット・タグの分析

  • 1は、ページ上の「最も評価が高い」ウィジェットを格納するコンテナを定義しています。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「最も評価が高い」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「最も評価が高い」ウィジェットをレンダリングする際に使用されるリンクが含まれています。行8は、「最も評価が高い」ウィジェットがリストするトピックのタイプを含め、「最も評価が高い」ウィジェット・タグの設定を指定しています。「最も評価が高い」ウィジェットにリスト内のすべてのタイプのトピックを含める場合は、"resource_type":"other"パラメータを削除します。

  • 9から11は、「最も評価が高い」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「最も評価が高い」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「最も評価が高い」ウィジェット・タグ(wsdk.topics)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-17 Webページに表示された「最も評価が高い」ウィジェット

図85-17の説明が続きます
「図85-17 Webページに表示された「最も評価が高い」ウィジェット」の説明


注意:

「最も評価が高い」ウィジェットをデプロイしても、タイトルは表示されません(図85-17を参照)。「最も評価が高い」ウィジェットにタイトルを表示するには、「最も評価が高い」ウィジェット・タグのコピー先のテンプレートにタイトルを挿入する必要があります。


85.4 「ログイン・バー」のウィジェット・タグ

「ログイン・バーのデプロイメント」画面(メニュー・バーから「ログイン・バー」「デプロイ」を選択してアクセスできる)では、デザイナに「ログイン・バー」ウィジェット・タグが提供されます。この項では、「ログイン・バー」ウィジェット・タグで定義されているパラメータを分析します。

「ログイン・バー」ウィジェット・タグ

  1. <div id="session_box_container"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "wsdk.session",

  6. version: "0.1",

  7. elementID: "session_box_container",

  8. attributes:{"view_type":"short","site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(session_box) == 'undefined') || (typeof(session_box.v0_1) == 'undefined')) {document.getElementById('session_box_container').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Login Bar is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('wsdk.session');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「ログイン・バー」ウィジェット・タグの分析

図85-18 Webページに表示されたスタンドアロンの「ログイン・バー」ウィジェット

図85-18の説明が続きます
「図85-18 Webページに表示されたスタンドアロンの「ログイン・バー」ウィジェット」の説明

85.5 「投票」のウィジェット・タグ

「投票名の投票のデプロイ」画面(メニュー・バーから「投票」「すべての投票」「目的の投票への移動」「デプロイ」を選択してアクセスできる)では、デザイナに特定の投票の「投票」ウィジェット・タグと「結果」ウィジェット・タグが提供されます。この項では、次のウィジェット・タグで定義されているパラメータを分析します。

85.5.1 メインの「投票」ウィジェット・タグ

「投票タグ」はメインの「投票」ウィジェット・タグであり、デプロイする投票のすべての構成が格納されます。

「投票タグ」ウィジェット・タグ

  1. <div id="poll_container1322111446303"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "poll",

  6. version: "0.1",

  7. elementID: "poll_container1322111446303",

  8. attributes: {"poll_id":"1322111446303","uid":"35b48e18-f1c7-4e97-ab1a-98cea2564f66","site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(poll) == 'undefined') || (typeof(poll.v1_0) == 'undefined')) {document.getElementById('poll_container1322111446303').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Poll is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('poll');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg/wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「投票タグ」ウィジェット・タグの分析

  • 1は、ページ上の「投票」ウィジェットを格納するコンテナを定義しています。また、この行はデプロイする「投票」ウィジェットの一意の識別子を指定しています。各投票には、作成時に一意の識別子が自動的に割り当てられます。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「投票」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「投票」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、「投票」ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても「投票」ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。デプロイされているスクリプトが存在しない場合、このリストの値は空になります。

  • 13は、「投票」ウィジェット・タグ(poll)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28では、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるすべてのスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-19 Webページに表示された「投票」ウィジェット

図85-19の説明が続きます
「図85-19 Webページに表示された「投票」ウィジェット」の説明

85.5.2 「投票結果」ウィジェット・タグ

「結果タグ」には、メインの投票結果のサマリーが含まれます(第85.5.1項「メインの「投票」ウィジェット・タグ」)。この結果は、サイトの訪問者が投票を行うことによって動的に変化します。

「結果」ウィジェット・タグ

  1. <div id="poll_summary_container1322111446303"></div>

  2. <script type="text/javascript">

  3. cos = window.cos || {};

  4. cos.pageWidgets = cos.pageWidgets || [];

  5. cos.pageWidgets.push({name: "poll-summary",

  6. version: "0.1",

  7. elementID: "poll_summary_container1322111446303",

  8. attributes: {"poll_id":"1322111446303","uid":"35b48e18-f1c7-4e97-ab1a-98cea2564f66","site_id":"FirstSiteII"}});

  9. setTimeout(

  10. function(){if ((typeof(poll) == 'undefined') || (typeof(poll.v1_0) == 'undefined')) {document.getElementById('poll_summary_container1322111446303').innerHTML = "<div style='font-family: Tahoma, Verdana, Geneva, sans-serif;font-size: 12px;color: #333333;border: 1px solid #dbdfe1;padding-left: 5px;padding-top: 4px;height: 22px;'>Poll is unavailable right now. Please contact the site administrator.</div>";}}

  11. ,30000);

  12. cos.pageScripts = cos.pageScripts || [];

  13. cos.pageScripts.push('poll');

  14. (function()

  15. {

  16. var oldOnloadHandler = window.onload || function()

  17. {

  18. };

  19. if (!oldOnloadHandler.alreadyProcessed)

  20. {

  21. window.onload = function()

  22. {

  23. var script = document.createElement('script');

  24. script.src = 'http://prod-cg.example.com:8080/cg//wsdk/widget/'

  25. + cos.pageScripts.join(':') + '.js?site_id=FirstSiteII';

  26. script.type = 'text/javascript';

  27. script.charset = 'utf-8';

  28. document.getElementsByTagName("head").item(0) .appendChild(script);

  29. oldOnloadHandler.apply(this, arguments);

  30. };

  31. window.onload.alreadyProcessed = true;

  32. }

  33. })();

  34. </script>

「結果」ウィジェット・タグの分析

  • 1は、ページ上の「結果」ウィジェットを格納するコンテナを定義しています。また、この行は「結果」ウィジェットに関連付けられる投票の一意の識別子を指定しています。「結果」ウィジェットには、この行に指定された一意の識別子を持つ投票の結果が表示されます。

  • 2は、ウィジェットで必要になるブートストラップ用のJavaScriptコードを開始しています。

  • 3は、ページのcosオブジェクトを定義しています。cosオブジェクトには、Communityアプリケーションのすべての機能が含まれます。ページにCommunityのウィジェット・タグがデプロイされていない場合、cosオブジェクトの値は空になります。

  • 4は、ページにデプロイされているウィジェット・タグのリストを定義しています。ページにウィジェットがデプロイされていない場合、このリストの値は空になります。

  • 5から8は、「結果」ウィジェット・タグを定義し、ウィジェット・タグのリスト(行4で定義)に新しいエレメントを追加しています。行7には、行1で定義されているコンテナの内部に「結果」ウィジェットをレンダリングする際に使用されるリンクが含まれています。

  • 9から11は、投票結果ウィジェットがページ上でレンダリングされているかどうかをチェックしています。30秒たっても投票結果ウィジェットがレンダリングされない場合は、エラーが発生したことがユーザーに知らされ、サイトの管理者に連絡するように指示するメッセージが表示されます。

  • 12は、ページにデプロイされているスクリプトのリストを定義しています。スクリプトがデプロイされていない場合、このリストの値は空になります。

  • 13は、「結果」ウィジェット・タグ(poll)をページ・スクリプトのリスト(行12で定義)に追加しています。

  • 16は、ページにデプロイ済のロジックの中で、そのページがロードされた後に開始するものが存在するかどうかをチェックしています。そのようなロジックがページにデプロイされている場合、この行はそのロジックを実装する関数を定義します。そのようなロジックがデプロイされていない場合、この関数は空のままになります。

  • 19は、onload関数がすでに処理されているかどうかをチェックしています。

  • 21では、ページのロード時に実行されるコードをオーバーライドしています。

  • 23から28は、ページにJavaScriptタグを追加しています。その中には、デプロイする必要のあるスクリプトのリストが含まれます。

  • 29は、古いonload関数に、新しいonload関数コールと必要なすべての引数を追加しています。

  • 31は、onload関数が再度処理されるのを防ぐためのalreadyProcessed変数を定義しています。

  • 34では、ウィジェットで必要になるブートストラップ用のJavaScriptコードを終了しています。

図85-20 Webページに表示された「結果」ウィジェット

図85-20の説明が続きます
「図85-20 Webページに表示された「結果」ウィジェット」の説明