埋め込みウィジェット
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 出力。 |
| データ | オブジェクト | ウィジェットサーバースクリプトのキーと値を含むデータオブジェクト。 |
| 依存関係 | アレイ | ウィジェットの実行前にロードするサードパーティライブラリ。 |
| オプション | オブジェクト | ウィジェットを初期化するために使用されるオプション。 |
| template | 文字列 | ウィジェットの HTML テンプレートフィールド。 |
カスタムオプションを使用してウィジェットを複数回埋め込む
カスタムオプションを使用して、クールクロックウィジェットを複数回埋め込みます。
始める前に
必要なロール:admin または sp_admin
このタスクについて
クールクロックウィジェットの複数のインスタンスを埋め込むウィジェットを作成し、それぞれ異なるタイムゾーンとタイトルを設定します。ウィジェットエディターでクールクロックウィジェットを開くと、HTML テンプレートとクライアントスクリプトで参照されるウィジェットオプションが表示されます。
手順
タスクの結果
埋め込みクロックウィジェットの時計の各インスタンスは、異なるタイムゾーンで表示されます。