xpages 应用程序布局:如何使徽标可点击?

xpages application layout: how to make logo clickable?

有没有办法在使用应用程序布局时使徽标可点击?大多数网站在单击顶部的徽标时都会返回主页,我的用户也要求这样做。不知道该怎么做...我很确定它与 submittedValue 有关,但是如何为徽标设置它?或者它可能是完全不同的东西,不确定。

我发现了这个:onClick Event Banner in Application Layout 但我不确定是否要向所有页面添加一些客户端 JavaScript。一定有更好的办法。

将 class productLogoClass="applicationLogo" 添加到您的徽标中,如图所示 here

为此 class 添加客户端 onclick 事件,该事件在空面板上执行部分刷新。此面板有一个呈现的 属性,它始终 returns 为真,但如果客户端 onclick 事件执行了部分刷新,则会执行其他代码。

<xe:applicationLayout
    ...
    <xe:this.configuration>
        <xe:oneuiApplication
            productLogo="/logo.png"
            productLogoClass="applicationLogo">
            ...
        </xe:oneuiApplication>
    </xe:this.configuration>
</xe:applicationLayout>
<xp:eventHandler
    event="onClientLoad"
    submit="false">
    <xp:this.script><![CDATA[var applicationLogo = dojo.query('.applicationLogo')[0];
        applicationLogo.onclick = function() {
        XSP.partialRefreshGet("#{id:onClickApplicationLogo}", 
            {params: {'onClickApplicationLogo': true}})
        }
    ]]></xp:this.script>
</xp:eventHandler>
<xp:panel id="onClickApplicationLogo">
    <xp:this.rendered><![CDATA[#{javascript:
        if (param.onClickApplicationLogo) {
            print("onClick application icon");
            context.redirectToPage("Home.xsp");
        }
        return true;}]]>
    </xp:this.rendered>
</xp:panel>

在此示例中,它将 "onClick application icon" 写入服务器控制台并重定向到 "Home.xsp"。