1

XPage の pageTitle プロパティを自動的に計算して、単に XPage 名を表示したいと考えています。これを Application Layout カスタム コントロールで 1 回コーディングして、コントロールを追加するすべてのページでプロパティ計算の利点が得られるようにします。これまでのところ、ページ タイトルを計算し、viewScope 変数に割り当てるために、CC にいくつかの SSJS があります。

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 でオーバーライドできます。これは、すべてのアプリケーションで設定するテーマ プロパティの 1 つです。

于 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>

これにより、データベースに配信されるすべての XPages に対してコードが ssjs コードを使用するようになります。私は実際には、戻り値が次のようになることを好みます。

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

楽しみ

/初心者

于 2012-08-03T19:38:19.693 に答える
0

カスタム コントロールの「すべてのプロパティ」パネルには、使用できる「pageTitle」プロパティがあります。設定すると、メイン XPage に pageTitle プロパティが設定されておらず、同じページにプロパティが設定されている他のカスタム コントロールがない限り、ページのタイトルに使用されます。

于 2012-08-03T15:37:09.027 に答える