【问题标题】:navItem.isSelected() from Sitemap ADT来自站点地图 ADT 的 navItem.isSelected()
【发布时间】:2016-07-12 20:38:21
【问题描述】:

我正在尝试确定是否从站点地图 ADT 中选择了导航项。当我这样做时,它总是将其输出为假。如何确定是否从 ADT 中选择了一个导航项?

<#list navItems as navItem>
    <#if navItem.isSelected()>
        <p>True</p>
    <#else>
        <p>False</p>
    </#if>
</#list>

【问题讨论】:

    标签: liferay liferay-6 freemarker


    【解决方案1】:

    对于站点地图模板,我认为您可以使用 pages 变量 e 检查当前页面名称是否等于页面名称

    <#if entries?has_content>
        <#list entries as page>
            <#assign currPageID = themeDisplay.getLayout().getLayoutId()>
            <#assign pageID = page.getLayoutId()>
    
            <#assign pageName = page.getName(locale)>
    
            ${pageName}
            <#if currPageID==pageID >
                <p>True</p>
            <#else>
                <p>False</p>
            </#if>
    
        </#list>
    </#if>
    

    【讨论】:

    • 即使 currPageName 和 pageName 相同,它也会将其返回为 false。知道为什么它没有正确地进行字符串比较吗?
    • 很奇怪我测试它,它对我有用。我把站点地图放在主页上,我看到了这个输出home True。我正在使用 liferay 6.2 ce-ga4
    • 奇怪的是我正在使用 liferay6.2 ee-sp14。当我尝试通过比较 url 字符串来进行比较时,字符串比较对我不起作用。当我比较它时,它们完全一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多