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