---
schema_version: "1"
id: 1ffd216b8e2d87909e15f5c20dc5b264bec5166daf34aa1a848cb315f4a939b4
title: IdeaStandardController Class
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_pages_ideastandardcontroller.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_pages_ideastandardcontroller.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 50c6dcf585b0a3777cbe738509eec7c4622c60f50eef543cb9e83d6ff7d9dfb8
description: IdeaStandardController objects offer Ideas-specific functionality in addition to what is provided by the StandardController. Returns the list of read-only comments from the current page.
---
# IdeaStandardController Class

IdeaStandardController objects offer Ideas-specific functionality in addition to what is provided by the StandardController.

## Namespace

[ApexPages](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_namespace_ApexPages.htm "The ApexPages namespace provides classes used in Visualforce controllers.")

## Usage

A method in the IdeaStandardController object is called by and operated on a particular instance of an IdeaStandardController.

![Note](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/images/icon_note.png)

#### Note

The IdeaStandardSetController and IdeaStandardController classes are currently available through a limited release program. For information on enabling these classes for your organization, contact your Salesforce representative.

In addition to the methods listed in this class, the IdeaStandardController class inherits all the methods associated with the StandardController class.

## Instantiation

An IdeaStandardController object cannot be instantiated. An instance can be obtained through a constructor of a custom extension controller when using the standard ideas controller.

## Example

The following example shows how an IdeaStandardController object can be used in the constructor for a custom list controller. This example provides the framework for manipulating the comment list data before displaying it on a Visualforce page.

public with sharing class MyIdeaExtension {
    
    private final ApexPages.IdeaStandardController ideaController;
    
    public MyIdeaExtension(ApexPages.IdeaStandardController controller) {
        ideaController = (ApexPages.IdeaStandardController)controller;
    }
    
    public List<IdeaComment> getModifiedComments() {
        IdeaComment\[\] comments = ideaController.getCommentList();
        // modify comments here
        return comments;
    }
    
}

The following Visualforce markup shows how the IdeaStandardController example shown above can be used in a page. This page must be named detailPage for this example to work.

![Note](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/images/icon_note.png)

#### Note

For the Visualforce page to display the idea and its comments, in the following example you need to specify the ID of a specific idea (for example, /apex/detailPage?id=<ideaID>) whose comments you want to view.

<!-- page named detailPage -->
<apex:page standardController="Idea" extensions="MyIdeaExtension"\>
    <apex:pageBlock title="Idea Section"\>
        <ideas:detailOutputLink page="detailPage" ideaId="{!idea.id}"\>{!idea.title}
        </ideas:detailOutputLink\>
        <br/\><br/\>
        <apex:outputText >{!idea.body}</apex:outputText\>
    </apex:pageBlock\>
    <apex:pageBlock title="Comments Section"\>
        <apex:dataList var="a" value="{!modifiedComments}" id="list"\>
            {!a.commentBody}
        </apex:dataList\>
        <ideas:detailOutputLink page="detailPage" ideaId="{!idea.id}" 
               pageOffset="-1"\>Prev</ideas:detailOutputLink\>
        | 
        <ideas:detailOutputLink page="detailPage" ideaId="{!idea.id}" 
               pageOffset="1"\>Next</ideas:detailOutputLink\>   
    </apex:pageBlock\>
</apex:page\>

#### See Also

- [StandardController Class](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_pages_standardcontroller.htm#apex_pages_standardcontroller "Use a StandardController when defining an extension for a standard controller.")

## IdeaStandardController Methods

The following are instance methods for IdeaStandardController.

- **[getCommentList()](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_pages_ideastandardcontroller.htm#apex_ApexPages_IdeaStandardController_getCommentList)**  
    Returns the list of read-only comments from the current page.

### getCommentList()

Returns the list of read-only comments from the current page.

#### Signature

public IdeaComment\[\] getCommentList()

#### Return Value

Type: IdeaComment\[\]

This method returns the following comment properties:

- id
- commentBody
- createdDate
- createdBy.Id
- createdBy.communityNickname