使用导航portlet显示嵌套页面



我是Liferay 6.1的新手。我需要一个导航portlet,它可以使用hoveronmouseover方法显示子链接和孙链接。我在6.1中使用默认的导航portlet,但无法弄清楚如何将其配置为在悬停时也显示grahdchild链接。

像这样的任务需要自定义导航portlet吗?或者提供的默认portlet是可配置的?

假设我有一个很像下面的网站结构:

  1. 主页
    • 客厅
      • 沙发
      • 电视
    • 厨房

导航portlet的标题将是Home,其中Living Room和Kitchen是显示的子项。在客厅上方悬停时,沙发和电视将出现。

我试过创造一个钩子,很像这里看到的那个,但没有用。

与用于3 Javascript的方法有些相似>3.1 jQuery如所示

更新

我就我遇到的这个问题向Liferay下了罚单。由于页面在父页面/选项卡被选中后才显示嵌套(二级)导航,从而使其具有"打开所选"选择器。如果这个二级导航是在HTML中生成的,则悬停css选择器将通过";高级造型";。将随分辨率更新。参见以下示例:

视觉表示见下文:注:在这种情况下,有两个FIRST_LEVEL_OBJECT和一个SECOND_LEVEL_OBJECT。

选择第二个FIRST_LEVEL_OBJECT的实例

<li class="">
<a class="" href="/group/ssc/ssc-hr-contact-list">FIRST_LEVEL_OBJECT</a>
</li>
<li id="aui_3_4_0_1_2072" class="selected ">
<a id="aui_3_4_0_1_2071" class="selected " href="/group/ssc/something-referral-program">FIRST_LEVEL_OBJECT</a>
</li>

选择第一个first_LEVEL_OBJECT并显示子SECOND_LEVEL_OJECT的实例

<li id="aui_3_4_0_1_2166" class="open selected ">
<a id="aui_3_4_0_1_2165" class="open selected " href="/group/ssc/ssc-hr-contact-list"> FIRST_LEVEL_OBJECT</a>
<ul class="layouts level-2">
<li class="">
<a class="" href="/group/ssc/test-gc-1">SECOND_LEVEL_OBJECT</a>
</li>
</ul>
</li>
<li class="">
<a class="" href="/group/ssc/something-referral-program">FIRST_LEVEL_OBJECT</a>
</li>

以下是提供功能的方法。

  1. 将子页面添加到portlet上显示的父页面
  2. 选择Options
  3. 选择Configuration
  4. 找到为All配置的included-layouts并保存-这使"layouts level-2"类能够在HTML中呈现,而无需首先进行选择
  5. 步骤2
  6. 选择Look and Feel
  7. 导航到Advanced Styling
  8. 添加以下CSS:

li.open ul.level-2 a {
border: none;
background: #E1E1E1;
text-indent: 15px;
}
li.open:hover ul.level-2 {
display: block;
}

如果页面上有多个导航portlet,则此实现将影响所有导航portlet。隔离1个portlet以启用此功能的唯一方法是:

  1. 选择Options
  2. 选择Configuration
  3. 找到为Arrows配置的Bullet Style(默认值应为Dots)并保存-这将把HTML类从nav-menu-style-dots更改为nav-menu-style-arrows

返回高级样式,在li前面添加导航菜单样式箭头。打开:悬停ul.level-2,如下所示:


.nav-menu-style-arrows li.open:hover ul.level-2 {
display: block;
}

注意:我知道高级样式下的Add a CSS rule for just this portlet,在这种情况下似乎没有什么不同。我认为这是一个潜在的问题,即每个导航Portlet的Portlet ID都是相同的。

您现在已经将悬停CSS选择器添加到默认导航portlet中

相关内容

  • 没有找到相关文章

最新更新