テーマでLiferay DXPのマクロを使用する
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
マクロ は、テーマテンプレートフラグメントを変数に割り当てることができます。 これにより、テーマテンプレートが乱雑にならず、読みやすくなります。 Liferay DXPは、FreeMarkerテーマテンプレートで使用してテーマリソースや標準ポートレットなどを含めることができる FTL_Liferay.ftl
テンプレート でいくつかのマクロを定義します。 Liferay DXPは、そのtaglibをFreeMarkerマクロとして公開します。 FreeMarkerテンプレートでtaglibを使用する方法の詳細については、対応する taglibチュートリアル を参照してください。 このチュートリアルでは、FreeMarkerテーマテンプレートでマクロを使用する方法を示します。
次の手順を実行します:
-
次の表に示すマクロのいずれかを選択します。
マクロ パラメーター 説明 例 パン粉 default \ _preferences オプションの設定でパンくずリストポートレットを追加します <@liferay.breadcrumbs />
control \ _menu なし コントロールメニューポートレットを追加します <@liferay.control_menu />
CSS ファイル名 指定したファイル名の場所に外部スタイルシートを追加します <@liferay.css file_name="${css_folder}/mycss.css"/>
date フォーマット 指定された形式で現在のロケールの日付を出力します <@liferay.date format="/yyyy/MM/dd/HH/" />
js ファイル名 指定されたファイル名ソースで外部JavaScriptファイルを追加します <@liferay.js file_name="${javascript_folder}/myJs.js"/>
言語 キー 現在のロケールで指定された言語キーを出力します <@liferay.language key="last-modified" />
language \ _format 引数
キー指定された言語キーを指定された引数でフォーマットします。 たとえば、キーとして go-to-x
を、引数としてMars
を渡すと、 Gos to Marsます。<@liferay.language_format arguments="${site_name}" key="go-to-x" />
言語 default \ _preferences オプションの設定で言語ポートレットを追加します <@liferay.languages />
navigation \ _menu default \ _preferences
instance \ _idオプションの設定とインスタンスIDを含むナビゲーションメニューポートレットを追加します。 <@liferay.navigation_menu />
サーチ default \ _preferences オプションの設定で検索ポートレットを追加します <@liferay.search />
検索バー default \ _preferences オプションの設定で検索バーポートレットを追加します <@liferay.search_bar />
user \ _personal \ _bar なし ユーザー個人バーポートレットを追加します <@liferay.user_personal_bar />
-
テーマテンプレートでマクロを呼び出します。 製品@ @のデフォルトFreeMarkerのマクロ呼び出しをして名前空間さ
のLiferay
。 たとえば、検索バーポートレットを含めるには、以下に示すマクロ呼び出しを追加します。<@liferay.search_bar>
-
ポートレット設定などの必須またはオプションの引数をマクロ呼び出しに含めます。 たとえば、Liferay DXPの
言語
マクロディレクティブには、言語キーパラメーターが含まれます。<#macro language key > ${languageUtil.get(locale, key)} </#macro>
次のように、マクロ呼び出しで引数を渡すことができます。
<@liferay.language key="powered-by" />
以下の例では、検索ポートレットの ポートレットデコレータ をベアボーンに設定します。
<@liferay.search default_preferences= freeMarkerPortletPreferences.getPreferences( "portletSetupPortletDecoratorId", "barebone" ) />
ナビゲーションメニューポートレットの以下の例に示すように、複数のポートレットプリファレンスをオブジェクトに渡すこともできます。
<#assign secondaryNavigationPreferencesMap = { "displayStyle": "ddmTemplate_NAVBAR-BLANK-JUSTIFIED-FTL", "portletSetupPortletDecoratorId": "barebone", "rootLayoutType": "relative", "siteNavigationMenuId": "0", "siteNavigationMenuType": "1" } /> <@liferay.navigation_menu default_preferences= freeMarkerPortletPreferences.getPreferences(secondaryNavigationPreferencesMap) instance_id="main_navigation_menu" />
これで、テーマテンプレートでLiferay DXPのマクロを使用する方法がわかりました!