我遇到了一个我正在做的Liferay主题的奇怪问题。该主题应该从门户提供的导航项列表中呈现两个不同的菜单。我在速度标记中写了一个portal_normal.vm,如果用户登录到门户网站,它可以正常工作,但如果他或她没有登录则不行。
这里有几个关于主题到目前为止的图像。第一个是错误的,它是如何在没有登录的情况下呈现主题,第二个是好的。
我怀疑我的标记出现了问题,但我需要另外一双眼睛来检测可能是什么原因。
以下是图片:
这是我在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)
#js ("$javascript_folder/jquery-1.11.1.min.js")
#js ("$javascript_folder/bootstrap.affix.min.js")
#js ("$javascript_folder/jquery.transit.min.js")
#js ("$javascript_folder/affix.js")
</head>
<body class="$css_class">
<a href="#main-content" id="skip-to-content">#language ("skip-to-content")</a>
$theme.include($body_top_include)
#if ($is_signed_in)
#dockbar()
#end
#set ($teaser = $layout.getExpandoBridge().getAttribute("etiqueta-pagina"))
#if(!$teaser.contains("teaser"))
#set ($header_class = "header-inside")
#else
#set ($header_class = "")
#end
#if($is_signed_in)
#set ($header_dockbar ="con_dockbar")
#set ($logo_dockbar = "con_dockbar")
#else
#set ($header_dockbar ="")
#set ($logo_dockbar = "")
#end
<div class="container-fluid" id="wrapper">
<header id="banner" role="banner" class="$header_class">
<div id="heading">
<h1 class="site-title $logo_dockbar" id="logo">
<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" />
</a>
</h1>
<div class="header-nav" id="nav-super">
#if ($show_site_name)
<span class="site-name" title="#language_format ("go-to-x", [$site_name])" id="logo-label">
$site_name
</span>
#end
<ul aria-label="#language ("site-pages")" role="menubar">
#foreach ($nav_item in $nav_items)
#set ($nav_item_attr_has_popup="")
#set ($nav_item_attr_selected="")
#set ($nav_item_css_class = "")
#set ($etiqueta = $nav_item.getLayout().getExpandoBridge().getAttribute("etiqueta-pagina"))
#if ($nav_item.isSelected())
#set ($nav_item_attr_selected="aria-selected='true'")
#set ($nav_item_css_class = "selected")
#end
#if ($nav_item.hasChildren())
#set ($nav_item_attr_has_popup="aria-haspopup='true'")
#end
#if($etiqueta.contains("perfiles"))
<li class="$nav_item_css_class" id="layout_$nav_item.getLayoutId()" $nav_item_attr_selected role="presentation">
<a aria-labelledby="layout_$nav_item.getLayoutId()" href="$nav_item.getURL()" $nav_item_attr_has_popup $nav_item.getTarget() role="menuitem"><span>$nav_item.icon() $nav_item.getName()</span></a>
</li>
#end
#end
</ul>
</div>
#if($teaser.contains("teaser"))
#*
*
*slider
*
*#
<div class="teaser-home">
<div class="carousel" id="main-slider">
<div class="carousel__content">
<div class="item">
<div class="text">
<h2>Cumplimos 40 años</h2>
<p>¡Estamos de fiesta!</p>
<small>
<a href="http://40aniversario.cide.edu">
Consulta los eventos en el micrositio del 40 aniversario
</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-aniversario.jpg">
</div>
<div class="item">
<div class="text">
<h2>Dossier Académico</h2>
<p>
De la Torre de Marfil a la pertinencia
<br>
<small>
David Arellano Gault | Jesús F. Hernández Galicia
</small>
</p>
<small>
<a href="http://www.cide.edu/v2/Dossier_DAG-JHG.pdf" target="_blank">Consultar el dossier</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-dossier.jpg">
</div>
<div class="item">
<div class="text">
<h2>Prof. Juan Rosellón:</h2>
<p>Financial Transmission Rights</p>
<small>
<a href="http://www.youtube.com/watch?v=P-SIC9INPFg" target="_blank">Ver video</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-juan-rosellon.jpg">
</div>
<div class="item">
<div class="text">
<h2>Diplomado en Alta Dirección</h2>
<p>21 de noviembre de 2014 al 15 de febrero de 2015</p>
<small>
<a href="http://e-continua.cide.edu/productinfo.asp?item=92" target="_blank">Consultar Información</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-alta-direccion.jpg">
</div>
<div class="item">
<div class="text">
<h2>Dr. Claudio López-Guerra:</h2>
<p>Democracy and Disenfranchisement</p>
<small>
<a href="http://www.youtube.com/watch?v=sXMvCk8S0VE" target="_blank">Ver video</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-claudio-lopez.jpg">
</div>
<div class="item">
<div class="text">
<h2>Estefanía Vela</h2>
<p>El Protocolo LGBTI de la SCJN</p>
<small>
<a href="http://www.youtube.com/watch?v=IJsZw1SujBg" target="_blank">Ver video</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-estefania-vela.jpg">
</div>
<div class="item">
<div class="text text-right">
<h2>
Novedades Editoriales
</h2>
<small>
<a href="http://www.libreriacide.com">Visita la Librería CIDE</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-libros.jpg">
</div>
<div class="item">
<div class="text">
<h2>
Curso de Amparo: Análisis y aplicación práctica.
</h2>
<small>
<a href="http://cideenlinea.cide.edu/">Consulta este curso en línea</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-curso.jpg">
</div>
<div class="item">
<div class="text">
<p class="text">
Generamos conocimiento científico con estándares internacionales en ciencias sociales que contribuye a explicar la realidad y resolver problemas
<small>
<a href="http://boletininvestigacion.cide.edu/">
Consulta nuestras investigaciones recientes
</a>
</small>
</p>
</div>
<img class="slide-full-image" src="$images_folder/slider-2.jpg">
</div>
<div class="item">
<div class="text small">
<h2>
Programa de difusión de los temas publicados en el apartado de Transparencia Focalizada
</h2>
<p>
En favor de la transparencia, el
<acronym>cide</acronym>
ofrece orientación acerca de 5 temas básicos (Programas Docentes, Datos Abiertos, Boletín de Investigación, Becas, Suscripciones y Venta de Publicaciones, Proyectos de inversión)
</p>
<small>
<a href="/transparencia_focalizada.html">
Detalles del programa
</a>
</small>
</div>
<img class="slide-full-image" src="$images_folder/slider-transparencia.jpg">
</div>
</div>
<div class="carousel__nav">
<a href="#" class="nav nav--left">Prev</a><a href="#" class="nav nav--right">Next</a></div>
#*
*
*Fin del slider
*
*#
#end
</div>
</div>
#if (!$is_signed_in)
<a data-redirect="$is_login_redirect_required" href="$sign_in_url" id="sign-in" rel="nofollow">$sign_in_text</a>
#end
#if ($has_navigation || $is_signed_in)
#parse ("$full_templates_path/navigation.vm")
#end
</header>
<div id="content">
<h2 class="page-title">
<span>$the_title</span>
</h2>
#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">
<div class="pie">
<ul class="footer-cols">
<li id="footer-info">
<a href="http://www.cide.edu" id="logo-footer">Centro de Investigación y Docencia Económicas</a>
<p class="privacy-policy-link">
<a href="http://www.cide.edu.mx/politica_privacidad.htm">Política de privacidad</a>
</p>
Carretera México- Toluca 3655 Col. Lomas de Santa Fe 01210 México, D.F.
Conmutador: 5727-98-00 Lada sin costo: 01 800 021 2433 (CIDE) | ©
<a href="http://cide.edu.mx/localizacion.htm">Localización</a>
</li>
<li>
<h2>Aspirantes</h2>
<ul>
<li><a href="https://msicidepdn.cide.edu/opa_solicitudes/">
Registro en línea
</a></li>
<li>
<a href="http://www.cide.edu/v2/resultadosdeadmision.html">
Resultados de Admisión
</a>
</li>
<li>
<a href="http://www.cide.edu/v2/curso_de_nivelacion.html">
Curso de nivelación
</a>
</li>
<li>
<a href="http://www.cide.edu/semana-de-oyentes.php">
Semana de oyentes
</a>
</li>
<li>
<a href="http://www.cide.edu/v2/programas_docentes.html">
Programas Docentes
</a>
</li>
</ul>
</li>
<li>
<h2>Investigadores</h2>
<ul>
<li>
<a href="http://www.cide.edu/v2/divisiones_academicas.html">
Divisiones Académicas
</a>
</li>
<li>
<a href="#">
Programas Interdisciplinarios
</a>
</li>
<li>
<a href="#">
Programas Especiales
</a>
</li>
<li>
<a href="http://www.cide.edu/v2/publicaciones.html">
Publicaciones
</a>
</li>
<li>
<a href="http://boletininvestigacion.cide.edu/">Boletín de Investigación</a>
</li>
<li>
<a href="https://msicidepdn.cide.edu/rh_dtsactualiza_externos/" target="_blank">
Profesores externos
</a>
</li>
</ul>
</li>
<li>
<h2>Estudiantes</h2>
<ul>
<li>
<a href="http://www.cide.edu/v2/licenciaturas.html">Licenciatura</a>
</li>
<li>
<a href="http://www.cide.edu/v2/maestrias.html">Maestrías</a>
</li>
<li>
<a href="http://dpp.cide.edu/">Doctorado</a>
</li>
<li>
<a href="http://e-continua.cide.edu/">Educación Continua</a>
</li>
</ul>
</li>
<li>
<h2>Recursos</h2>
<ul>
<li>
<a href="http://biblioteca.cide.edu/">Biblioteca</a>
</li>
<li>
<a href="http://www.libreriacide.com/">Librería</a>
</li>
<li>
<a href="http://www.biiacs.cide.edu/">BIIACS</a>
</li>
</ul>
</li>
<li>
<h2>Administrativos</h2>
<ul>
<li>
<a href="http://portal.cide.edu/">
Intranet
</a>
</li>
<li>
<a href="http://cide.edu.mx/directorio.php">
Directorio telefónico
</a>
</li>
</ul>
</li>
<li id="transparencia">
<h2>Transparencia</h2>
<ul>
<li>
<a href="http://www.cide.edu/v2/transparencia.html">
Normatividad en materia de transparencia
</a>
</li>
<li>
<a href="http://www.cide.edu.mx/comitedeinformacion.htm">
Comité de información
</a>
</li>
<li>
<a href="http://www.cide.edu.mx/transparencia_focalizada.html">
Transparencia focalizada
</a>
</li>
<li>
<a href="http://www.cide.edu/v2/sfp-cide/indicadores.php">
Indicadores de Programas Presupuestarios
</a>
</li>
<li>
<a href="http://www.cide.edu.mx/sfp-cide/recomendaciones.htm">
Recomendaciones Dirigidas al CIDE
</a>
</li>
<li>
<a href="http://www.cide.edu.mx/sfp-cide/estudiosyopiniones.htm">
Estudios y Opiniones
</a>
</li>
<li>
<a href="http://www.cide.edu.mx/sfp-cide/rendiciondecuentas.htm">
Rendición de Cuentas
</a>
</li>
<li>
<a href="http://www.cide.edu.mx/sfp-cide/participacion-ciudadana.php">
Participación Ciudadana
</a>
</li>
</ul>
</li>
<br style="clear:both" />
</ul>
<br style="clear:both" />
</div>
<br style="clear:both" />
</footer>
</div>
$theme.include($body_bottom_include)
$theme.include($bottom_include)
</body>
</html>
提前感谢您花时间阅读本文。
顺便说一下,显然没有被阅读的那一行是#if($etiqueta.contains("perfiles"))
<li class="$nav_item_css_class" id="layout_$nav_item.getLayoutId()" $nav_item_attr_selected role="presentation">
<a aria-labelledby="layout_$nav_item.getLayoutId()" href="$nav_item.getURL()" $nav_item_attr_has_popup $nav_item.getTarget() role="menuitem"><span>$nav_item.icon() $nav_item.getName()</span></a>
</li>
#end
答案 0 :(得分:1)
从代码中看起来您已经为页面创建了一个自定义属性,并且基于您正在处理vm文件中的内容。您需要为从liferay控件创建的自定义属性分配guest view permission
。
HTH
答案 1 :(得分:0)
如果您不关心此自定义字段的权限,您也可以尝试使用以下方法:
$nav_item.getLayout().getExpandoBridge().getAttribute("etiqueta-pagina",false))
此方法忽略自定义字段权限。
BR, 的Pawel