速度の場合:
さて、Velocity で Liferay ページのリンクを生成するには、Liferay ソース コードの次のファイルを見てください。
/portal-web/docroot/html/themes/_unstyled/templates/navigation.vm
そこには、デフォルトの Liferay テーマがサイトのナビゲーション構造をどのように生成するかが表示されます。ここでの生活を楽にするために、次のことを行います。
<nav class="$nav_css_class" id="navigation">
<h1>
<span>#language("navigation")</span>
</h1>
<ul>
#foreach ($nav_item in $nav_items)
#if ($nav_item.isSelected())
<li class="selected">
#else
<li>
#end
<a href="$nav_item.getURL()" $nav_item.getTarget()><span>$nav_item.icon() $nav_item.getName()</span></a>
#if ($nav_item.hasChildren())
<ul class="child-menu">
#foreach ($nav_child in $nav_item.getChildren())
#if ($nav_child.isSelected())
<li class="selected">
#else
<li>
#end
<a href="$nav_child.getURL()" $nav_child.getTarget()>$nav_child.getName()</a>
</li>
#end
</ul>
#end
</li>
#end
</ul>
そのため、Velocity は $nav_items というコレクションを調べ、各アイテムに対して getURL() メソッドを呼び出してリンクを生成します。
JSP の場合:
- LayoutLocalServiceUtil クラス、特に getLayouts() メソッドの 1 つを使用する必要があります。ニーズに最も適したものを選択する必要があります。
- これにより、レイアウト (ページ) のリストが返され、これらの各レイアウトで getFriendlyURL() を呼び出して URL を返すことができます。これはサイトへの相対 URL になるため、/my-site-home-page のようになります。 .
ご不明な点がございましたら、お気軽にお問い合わせください。