具有liferay主题设置的多个导航菜单
我正在使用主题设置为一个主题创建一个具有多个导航菜单的主题,在liferay look-and-feel.xml中,我添加了以下代码:具有liferay主题设置的多个导航菜单,liferay,liferay-6,velocity,liferay-theme,liferay-aui,Liferay,Liferay 6,Velocity,Liferay Theme,Liferay Aui,我正在使用主题设置为一个主题创建一个具有多个导航菜单的主题,在liferay look-and-feel.xml中,我添加了以下代码: <settings> <setting configurable="true" key="navigation" type="select" options="left-vertical,right-vertical,horizontal" value="horizontal" /> </settings>
<settings>
<setting configurable="true" key="navigation" type="select"
options="left-vertical,right-vertical,horizontal" value="horizontal" />
</settings>
portal_normal.vm文件:
<!DOCTYPE html>
#parse ($init)
<html class="$root_css_class" dir="#language ("lang.dir")" lang="$w3c_language_id">
<head>
<title>$the_title - $company_name</title>
<meta content="initial-scale=1.0, width=device-width" name="viewport" />
$theme.include($top_head_include)
</head>
## navigation menu selection related code
#set ($navigationLeft = $theme.getSetting("navigation"))
#if ($navigationLeft == "left")
#set ($css_class = "${css_class} navigation-left")
#end
#if ($navigationLeft == "left-right")
#set ($pull1 = "")
#set ($pull2 = "pull-right")
#else
#set ($pull1 = "pull-right")
#set ($pull2 = "")
#end
<body class="$css_class">
<a href="#main-content" id="skip-to-content">#language ("skip-to-content")</a>
$theme.include($body_top_include)
#dockbar()
## docbar settings
#set ($dockbar = $theme.getSetting("dockbar-mode"))
#if ($dockbar == "split")
#set ($css_class = "${css_class} dockbar-split")
#end
#set ($navigationLeft = $theme.getSetting("logo-menu-direction"))
#if ($navigationLeft == "left-right")
#set ($pull1 = "")
#set ($pull2 = "pull-right")
#else
#set ($pull1 = "pull-right")
#set ($pull2 = "")
#end
<div class="container-fluid" id="wrapper">
<header id="banner" role="banner">
<div id="heading">
<h1 class="site-title">
<a class="$logo_css_class" href="$site_default_url" title="#language_format ("go-to-x", [$site_name])">
<img alt="$logo_description" height="$site_logo_height" src="$site_logo" width="$site_logo_width" />
#* #if ($show_site_name)
<span class="site-name" title="#language_format ("go-to-x", [$site_name])">
$site_name
</span>
#end
*#
</a>
</h1>
<div class="navigation-menu $pull2">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
<h2 class="page-title">
<span>$the_title</span>
</h2>
</div>
#if ($has_navigation || $is_signed_in)
#parse ("$full_templates_path/navigation.vm")
#end
</header>
<div id="content">
<nav id="breadcrumbs">#breadcrumbs()</nav>
#if ($selectable)
$theme.include($content_include)
#else
$portletDisplay.recycle()
$portletDisplay.setTitle($the_title)
$theme.wrapPortlet("portlet.vm", $content_include)
#end
</div>
<footer id="footer" role="contentinfo">
<p class="powered-by">
#language ("powered-by") <a href="http://www.liferay.com" rel="external">Liferay</a>
</p>
</footer>
</div>
$theme.include($body_bottom_include)
$theme.include($bottom_include)
</body>
</html>
默认情况下,我显示水平菜单
现在,当用户选择left vertical(左垂直)或right vertical(右垂直)时,我将正确显示导航菜单,但每当用户选择水平时,我都需要显示默认的水平导航菜单。我如何做到这一点
在上面的代码中,我没有写任何关于“水平”的代码,因为我同样需要为它编写CSS。当我第一次应用主题时,它将显示水平菜单,当我选择水平时,我需要应用这些设置
如何实现它?使用getterul,直到您可以拥有一个默认值,以防select尚未选择任何值 这是一个例子:
#set ($navigation = $getterUtil.getString($theme.getSetting("navigation"),"horizontal"))
抱歉,请求不是很清楚。@DanieleBaggio当主题应用于站点时,您可以加入这里吗?默认情况下,它将显示水平菜单。当站点管理员不需要水平菜单时,站点管理员可以从主题设置中选择左垂直或右垂直菜单,为此,我创建了一个选择框,用户可以在其中选择导航的类型。根据导航值选择用户后,我在custom.css中更改了css,现在,我的要求是,当用户不想同时使用左垂直或右垂直时,我需要向他显示默认的水平导航菜单。您可以共享使用设置的速度部分吗?我不知道如何使用您的代码,我编写的代码如下,如果$navigationLeft==水平集$css_class=${css_class}水平端