2012-08-03 50 views
1

想要自动计算XPage上的pageTitle属性以简单显示XPage名称。我想在应用程序布局自定义控件上编写一次,因此添加控件的每个页面都可以获得属性计算的好处。到目前为止,我对我的CC一些SSJS计算网页标题和分配给viewScope变量:如何为使用自定义控件的所有页面设置pageTitle属性?

var path:String = context.getUrl().getPath(); 
var xpageName:String = @RightBack(path,"/"); 
viewScope.xpageName = xpageName; 
return xpageName 

在这里我想补充CC我可以简单的viewScope变量的值返回PAGETITLE任何的XPage财产是这样的:

viewScope.xpageName 

但是,想知道如何自动从CC设置它,而不需要上面的行。这可以做到吗?

回答

0

在自定义控件的“所有属性”面板中,可以使用“pageTitle”属性。只要在主XPage上没有设置pageTitle属性,并且只要同一页面上没有其他自定义控件具有属性设置,它就会被用于页面的标题。

+0

如果你将设置多个控件这个属性会发生什么?哪个控件将用于设置标题? – jjtbsomhorst 2012-08-03 17:42:35

+0

我认为它遇到的第一个得到它。 – 2012-08-03 19:25:39

1

你可以这样做,因为Declan在自定义控件的所有属性属性中说过。我喜欢用一个控制块这样的把这个数据库中的主题:

<control override="true"> 
    <name>ViewRoot</name> 
    <property> 
     <name>pageTitle</name> 
     <value>#{javascript: 
var path:String = context.getUrl().getPath(); 
var xpageName:String = @RightBack(path,"/"); 
viewScope.xpageName = xpageName; 
return xpageName 
}</value> 
    </property> 
</control> 

此然后强制代码使用SSJS代码数据库提供的所有的XPages。其实我更喜欢的是,返回值是:

return database.getTitle() + " : " + xpageName; 

享受

/Newbs

相关问题