IdeaStandardController クラス
IdeaStandardController オブジェクトは、StandardController で提供される機能のほか、アイデア固有の機能を提供します。
名前空間
ApexPages
使用方法
IdeaStandardController オブジェクトのメソッドは、IdeaStandardController の特定のインスタンスでコールされ、実行されます。
このクラスに記載されたメソッドのほか、IdeaStandardController クラスは、StandardController クラスに関連付けられたすべてのメソッドを継承します。
インスタンス化
IdeaStandardController オブジェクトはインスタンス化できません。アイデアの標準コントローラを使用する場合は、カスタム拡張コントローラのコンストラクタを介してインスタンスを取得できます。
例
次の例では、IdeaStandardController オブジェクトをカスタムリストコントローラのコンストラクタで使用する方法を示します。この例では、コメントリストデータを Visualforce ページに表示する前に操作するためのフレームワークを示します。
1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public class MyIdeaExtension {
18
19 private final ApexPages.IdeaStandardController ideaController;
20
21 public MyIdeaExtension(ApexPages.IdeaStandardController controller) {
22 ideaController = (ApexPages.IdeaStandardController)controller;
23 }
24
25 public List<IdeaComment> getModifiedComments() {
26 IdeaComment[] comments = ideaController.getCommentList();
27 // modify comments here
28 return comments;
29 }
30
31}次の Visualforce マークアップは、上記の IdeaStandardController の例をページ内で使用する方法を示します。この例が機能するためには、ページ名を detailPage にする必要があります。
1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<!-- page named detailPage -->
18<apex:page standardController="Idea" extensions="MyIdeaExtension">
19 <apex:pageBlock title="Idea Section">
20 <ideas:detailOutputLink page="detailPage" ideaId="{!idea.id}">{!idea.title}
21 </ideas:detailOutputLink>
22 <br/><br/>
23 <apex:outputText >{!idea.body}</apex:outputText>
24 </apex:pageBlock>
25 <apex:pageBlock title="Comments Section">
26 <apex:dataList var="a" value="{!modifiedComments}" id="list">
27 {!a.commentBody}
28 </apex:dataList>
29 <ideas:detailOutputLink page="detailPage" ideaId="{!idea.id}"
30 pageOffset="-1">Prev</ideas:detailOutputLink>
31 |
32 <ideas:detailOutputLink page="detailPage" ideaId="{!idea.id}"
33 pageOffset="1">Next</ideas:detailOutputLink>
34 </apex:pageBlock>
35</apex:page>
36