1

希望自动计算 XPage 上的 pageTitle 属性以简单地显示 XPage 名称。我想在 Application Layout 自定义控件上对此进行一次编码,以便添加控件的每个页面都能从属性计算中受益。到目前为止,我的 CC 上有一些 SSJS 来计算页面标题并分配给 viewScope 变量:

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

在我添加 CC 的任何 XPage 上,我可以简单地将 viewScope 变量的值返回给 pageTitle 属性,如下所示:

viewScope.xpageName

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

4

3 回答 3

3

您还可以在主题中设置 pageTitle。Julian Buss 网站上的这个页面显示了默认值http://xpageswiki.com/web/youatnotes/wiki-xpages.nsf/dx/Work_with_themes的代码。因为 override 设置为 false,所以您可以在您选择的任何自定义控件或 XPage 上覆盖它。这是我在所有应用程序中设置的主题属性之一。

于 2012-08-03T19:28:14.980 回答
2

您可以按照 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>

然后,这会强制您的代码对数据库中交付的所有 XPage 使用 ssjs 代码。我实际上更喜欢返回值是:

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

享受

/新人

于 2012-08-03T19:38:19.693 回答
0

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

于 2012-08-03T15:37:09.027 回答