使用应用程序布局时,有没有办法让徽标可以点击?单击顶部的徽标时,大多数网站都会返回主页,我的用户也会要求这样做。无法弄清楚如何...我很确定它与submittedValue有关,但是你如何为徽标设置呢?或者它可能是完全不同的东西,不确定。
我发现了这个:onClick Event Banner in Application Layout但我不确定是否要在所有网页上添加一些客户端JavaScript。必须有更好的方法。
答案 0 :(得分:6)
向您的徽标添加课程productLogoClass="applicationLogo"
,如here所示。
为此类添加客户端onclick事件,该事件在空面板上执行部分刷新。此面板具有一个呈现的属性,该属性始终返回true,但如果客户端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>
在这个例子中它写了&#34; onClick应用程序图标&#34;到服务器控制台并重定向到&#34; Home.xsp&#34;。