Export_to_template_contextは、モジュールを実際に表示せずに、モジュールのパラメーターをテンプレート環境で使用できるようにするパラメーターです。このパラメーターは、全てのHubLモジュールタグに使用できます。これらのパラメーターを取得し、変数に保存し、テンプレートのロジックに含めるには、widget_dataタグを使用します。
export_to_template_context
は、HubLタグを実際に表示することなく、HubLタグのパラメーターをテンプレート環境で使用するためのパラメーターです。このパラメーターは、全てのHubLタグに使用できます。これらのパラメーターを取得し、変数に保存し、テンプレートのロジックに含めるには、widget_data
dict(ディクショナリー)を使用します。
表示されていないHubLタグのパラメーターをテンプレートのコンテキストで使用できれば、コンテンツエディターでのテンプレートの表示方法をユーザーが決めることが可能になります。例えば、ユーザーがフィールドに値を入力したときに、特定のコードブロックのみを表示する必要があるとします。これは、このパラメーターを使用することで実現できます。
まず、HubLタグにexport_to_template_context=True
を追加する必要があります。次に、widget_data.module.parameter_you_want_to_retreive
を使用します。
export_to_template_context=True
は、カスタムモジュールにとっては実質的な機能はないため、カスタムモジュールではサポートされません。テンプレート内のモジュールにはすでにアクセスできるので、モジュール内の値を取得するためにexport_to_template_context
を使用する必要がありません。モジュールの出力を非表示にする必要がある場合は、何も出力しないようにモジュールを作成できます。つまり、モジュールで何かを表示するかどうかを有効または無効にするブール値フィールドを含めます。
widget_data
タグでsrc
パラメーターを取得し、styleタグの背景画像のソースとして表示します。
export_to_template_context
パラメーターと選択モジュールを組み合わせて、求人ページのバナーメッセージを変更しています。ユーザーがUIを使用して部門を選択すると、ユーザーが実際にコンテンツを編集しなくても見出しが変更されます。
widgets
という名前のdict内でそのモジュールにアクセスできます。export_to_template_context
パラメーターは必須ではありません。構文は次のとおりです。
content.widgets
はグローバルモジュールにアクセスしないので、上記のメソッドはグローバルモジュールのフィールドからの値の取得をサポートしません。export_to_template_context
を使用します。
content.widgets.custom_blog_link.body.value
を使用します。ブログリストではwidget_data
を使用できませんが、そのフィールドの値は個々のコンテンツのウィジェットのコンテキスト内に保存されます。
各記事を含むこのカスタムリンクを表示する基本的なブログリストのループを以下に示します。この方法を使用する場合は、ブログ記事ごとに自動的に作成されたサブディレクトリーをrobots.txtファイルに追加して、空の記事がGoogle などのクローラーによってクロールされないようにする必要があります。