埋め込みウィジェット
HTML テンプレート、サーバー スクリプト、またはクライアント スクリプトにウィジェットを埋め込みます。
HTML テンプレートへのウィジェットの埋め込み
<widget></ widget> 要素を使用し、HTML テンプレートにウィジェットを埋め込みます。埋め込もうとしているウィジェットの ID をパラメーターとして渡します。<div>
<widget id="widget-cool-clock"></widget>
</div>ウィジェットにオプション スキーマがある場合は、インスタンス オプションを JSON 形式で定義できます。
<widget id="widget-cool-clock" options='{"zone": "America/Los_Angeles","title": "San Diego, CA"}'></widget>ウィジェット サーバー スクリプトでオプションを定義することもできます。
- HTML テンプレート
<widget id="widget-cool-clock" options='data.clockOptions'></widget>- サーバースクリプト
(function() { data.clockOptions = {"zone": "America/Los_Angeles","title": "San Diego, CA"}; })();
クライアント スクリプトへのウィジェットの埋め込み
spUtil.get() を使用して、クライアントスクリプト内のウィジェットモデルを取得します。
spUtil.get("widget-sc-cat-item", {sys_id: "your_catalog_item_sys_id"}).then(function(response) {
c.catalogItemWidget = response;
});spUtil クラスをウィジェット クライアント スクリプトで使用している場合、クラスをクライアント スクリプト関数に挿入する必要があります。次の例では、クール クロック ウィジェットを埋め込みます。
- クライアントスクリプト
function(spUtil) { var c = this; spUtil.get("widget-cool-clock").then(function(response) { c.myClockWidget = response; }); }- HTML テンプレート
<sp-widget widget="c.myClockWidget"></sp-widget>
サーバー スクリプトへのウィジェットの埋め込み
$sp.getWidget() を使用して、サーバースクリプト内のウィジェットモデルを取得します。
data.catalogItemWidget = $sp.getWidget("widget-sc-cat-item");次の例では、クール クロック ウィジェットを埋め込みます。
- サーバースクリプト
(function() { var coolClockOptions = {"zone": "America/Los_Angeles","title": "San Diego, CA"} data.coolClockWidget = $sp.getWidget('widget-cool-clock', coolClockOptions); })();- HTML テンプレート
<sp-widget widget="data.coolClockWidget"></sp-widget>
ウィジェット モデルのプロパティ
ウィジェット モデルが別のウィジェット内から呼び出されると、HTML テンプレート、クライアント スクリプト、およびリンク関数が sp_widget レコードと同じようにロードされます。data プロパティは、ウィジェット サーバー スクリプトの実行結果です。サーバー上のデータ オブジェクトに置いたものはすべて、クライアント上のデータ オブジェクトで使用できます。
| プロパティ名 | タイプ | 説明 |
|---|---|---|
| client_script | 文字列 | ウィジェット クライアント スクリプト フィールド |
| css | 文字列 | ウィジェットの SASS フィールドからコンパイルされた CSS 出力 |
| データ | オブジェクト | ウィジェット サーバー スクリプトのキーと値を含むデータ オブジェクト |
| dependencies | アレイ | ウィジェットが実行される前にロードするサードパーティライブラリ |
| オプション | オブジェクト | ウィジェットの初期化に使用するオプション |
| template | 文字列 | ウィジェットの HTML テンプレート フィールド |
カスタム オプションを使用したウィジェットの複数回の埋め込み
カスタム オプションを使用してクール クロック ウィジェットを複数回埋め込みます。
始める前に
必要なロール:admin または sp_admin
このタスクについて
クール クロック ウィジェットの複数のインスタンスを埋め込むウィジェットを作成します。それぞれタイムゾーンとタイトルが異なります。ウィジェット エディターでクール クロック ウィジェットを開いて、HTML テンプレートとクライアント スクリプトで参照されるウィジェット オプションを表示します。
手順
タスクの結果
埋め込みクロック ウィジェットの時計の各インスタンスは、異なるタイムゾーンで表示されます。