Themes
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

テンプレートを使用したウィジェットの埋め込み

テーマにウィジェットを埋め込んで、選択したテンプレートファイルを使用してすべてのページでウィジェットを使用できるようにすることができます。 ウィジェットを埋め込む際には、ウィジェットのポートレット定義を参照する必要があります。 コンポーネントの値の一部を提供する。

準備ができたら、テーマ(src/templates/ディレクトリ内)でFreeMarkerテンプレート(.ftl)ファイルを選択してウィジェットを埋め込みます。 たとえば、portal_normal.ftlを選択して、追加するほとんどのページにウィジェットを埋め込みます。

重要

portal_normal.ftl またはその他のテーマ テンプレートを変更する場合は、 id="wrapper" 要素を保持する必要があります。ページ エディターはこれを使用してサイドバー、パンくずリスト、および編集コントロールをレンダリングするため、これを削除するとエディターが壊れます。 一部の機能(セグメント実験など)はこれに依存しているため、 id="コンテンツ" 要素も保持してください。 FTL ファイルを直接変更せずに外観をカスタマイズするには、代わりに マスター ページ または クライアント拡張機能 を使用してください。

ウィジェットを埋め込むテンプレートファイルに、選択したウィジェットのポートレット名とインスタンス ID (ウィジェットがインスタンス化できる場合) を使用して、 liferay_portlet["runtime"] マクロを追加します。

<@liferay_portlet["runtime"]
    instanceID="INSTANCE_ID"
    portletName="PORTLET_NAME"
/>

ポートレット定義でウィジェットのjavax.portlet.nameの値を使用して、ポートレット名を指定します。 com.liferay.portlet.instanceableプロパティがfalseに設定されていない限り、インスタンスIDも指定する必要があります。

たとえば、次のマクロは、テンプレートファイルの選択した場所にナビゲーションメニューを埋め込みます。

<@liferay_portlet["runtime"]
    portletName="com_liferay_product_navigation_applications_menu_web_internal_portlet_ProductNavigationApplicationsMenuPortlet"
/>

埋め込みウィジェットをテンプレートに追加したら、gulp deployを実行して、変更を加えたテーマを作成します。 デプロイされたテーマには、選択した場所にウィジェットが埋め込まれました。