Dynamic content とは、Webサイト上で固定されていない、ユーザーの操作に応じて変化するコンテンツを指します。dynamic content を利用することで、Webサイトを毎回更新せずに、サードパーティサービスからのデータを表示できます。
例えば、Zoho SitesとZoho Creatorのような異なる2つのアプリケーションを連携させて、Webサイト上にdynamic contentを表示することが可能です。
Webサイトにdynamic contentを挿入する手順
Webサイトビルダーの左上にある+アイコンをクリックします。
ドロップダウンからAppをクリックします。
設定からDynamic Contentを選択します。
「Dynamic Content」をドラッグ&ドロップし、表示したい場所に配置します。Dynamic Content 名前を入力してください。
「編集」をクリックします。「Dynamic Content Listing」ページに移動し、該当するダイナミックコンテンツを選択できます。
該当するダイナミックコンテンツをクリックすると、既存コードの編集やカスタムコードの作成が可能です。ビュー、関数、スタイルシートの編集もできます。
動的コンテンツの4つの要素:
FUNCTIONS
'fetchPartners'という関数は、Zoho Creatorに保存されているデータを取得します。
説明:
ビュー
各動的コンテンツのインスタンスにはメイン表示ファイルがあり、利用可能なビューが読み込まれます。
表示: main
{% partners = functions.実行する('fetchPartners') %} <div> <center><h3>パートナーh3>center> div> <divdc-container='パートナー-地域'> {% for パートナー in partners %} <div> <h2 style='cursor: pointer'dc-param-id='{{ パートナー.ID }}'dc-bind-クリック='真'dc-表示する='パートナー'dc-target='パートナー-地域'> {{ パートナー.名前 }} h2> <p>{{ パートナー.メール }}p> div> {% endfor %} div>
説明:
属性 |
説明 |
dc-container |
DC 表示するを読み込むためのコンテナを定義します。値は英数字で一意である必要があります。 |
dc-bind-クリック |
HTML要素にクリックイベントをバインドします。値は「真」またはコールバック関数の名前のいずれかを指定します。 |
dc-表示する |
HTML要素がクリックされたときに表示するDCの名前を定義します。dc-bind-クリックが「真」の場合は必須です。 |
dc-target |
dc-表示するで定義したDC表示するを読み込むコンテナを指定します。値はdc-containerのいずれかを指定してください。 |
dc-param- |
DC 表示するに送信するパラメーターを定義します。複数指定が可能で、指定したdc-param属性はすべてDC表示するに送信されます。 例:dc-param-pid='123'は、DC表示する内でrequest_object.パラメーター.pidとして参照できます。 |
表示する: パートナー
{% partner_id = request_object.パラメーター.id %} {% partner_details = functions.実行する('fetchPartnerDetails', partner_id) %} <div><h2>{{ partner_details.名前 }}h2> <p>{{ partner_details.電話番号 }}p> <img alt='{{ partner_details.名前 }}' src='{{ partner_details.画像 }}'/> <div style='cursor: pointer'dc-表示する='main'dc-target='パートナー-地域'>戻る div> div>
説明:
DC 関数の表示
{% データ = functions.実行する('fetchPartners') %}
例:
{% データ = functions.実行する('fetchPartners',param1,param2, ..) %}
下記は、ダイナミックコンテンツ表示で利用可能なオブジェクトと関数です。
プロパティ |
説明 |
display_name |
ログイン中のユーザーの名前 |
email_address |
ログイン中のユーザーのメールアドレス |
groups |
ユーザーが所属するポータルグループの表示名リスト |
例:
{% if ユーザー %} {'display_name':'{{ ユーザー.display_name }}','email_address':'{{ ユーザー.email_address }}'}. {% endif %}
プロパティ |
説明 |
domain_name |
リクエストのドメイン部分 |
uri |
リクエストのURIパス |
パラメーター |
パラメーターのコレクション |
ヘッダー |
リクエストヘッダーのコレクション |
cookies |
cookiesのコレクション |
例:
{% partner_id = request_object.パラメーター.id %}
これは、ダイナミックコンテンツで関数を呼び出す際に使用します。
例:
{% assign variable_name = functions.実行する('dc_function_name', param1, param2, ...)%}.
{% response_object。setStatus(status_code) %}
{% response_object。setCookies(cookie_name, cookie_value, path, max_age) %}
JAVASCRIPT
以下は、JavaScriptで利用可能なAPIメソッドです。
メソッド |
説明 |
$DX.取得する |
HTTP取得リクエストをDCに送信します。
Request Objectを引数として渡します。詳細は下記の表をご参照ください。
|
$DX。post |
HTTP POSTリクエストをDCに送信します。
Request Objectを引数として渡します。詳細は下記の表をご参照ください。
|
プロパティ |
説明 |
url |
表示するURL |
params |
表示する先へ送信するパラメーター(JSONオブジェクト) |
handler |
正常にレスポンスが返された場合、このコールバック関数が呼び出され、XMLHttpRequestが'this'参照として渡されます。 |
ヘッダー |
リクエストヘッダーのコレクション |
args |
handlerに送信する引数(JSONオブジェクト) |
'init'関数のオーバーライド
main.jsで'init'関数をオーバーライドし、表示するの読み込み中を自ら処理する例です。
define( function() { function showPartner(設定){ $DX.取得する({ url: '/dcapp/' + 受注傾向などを分析。dc_name + '/パートナー', params : 受注傾向などを分析。params, handler: function (){ 受注傾向などを分析。target。innerHTML = this。responseText } } ); } function init(context, params){ var dc_name = context。getAttribute('data-dc-名前'); //ルートDC要素の属性 data-dc-名前 にはDC名が設定されています var dc_home_page = context。getAttribute('data-ホーム-page') || 'main'; //属性 data-dc-名前 には初期表示する名前が含まれています $DX.取得する({ url: '/dcapp/' + dc_name + '/' + dc_home_page ,// I18N対象外 handler: function (){ context。innerHTML = this。responseText } } ); } 返品する { showPartner : showPartner, init : init } })
$DX.取得する({
url: '/dcapp/' + + '/function/' + ,
handler: function (){
//関数取得後の処理コード
}
「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。
日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。