Salesforce Controllers
Last updated on Jun 12, 2024
- What are the controllers and their types?
- Standard controllers
- Standard List Controllers
- Custom Controllers
- Controller Extensions
- Conclusion
What are the controllers and their types?
Salesforce controllers, also known as Visualforce controllers, are used to execute a set of instructions. Controllers specify what happens when a user interacts with the Visualforce Markup components such as Visualforce tags, HTML, fields, etc. When a user clicks on a button or link on a Visualforce page, the associated controllers will display the data related to the user action or component. The controllers have the ability to modify component behavior. They work on an MVC(Model-View-Controller) approach. Salesforce provides the below types of controllers.
- Standard controllers
- Standard List Controllers
- Custom Controllers
Wish to make a career in the world of salesforce? Start with HKR'S salesforce online training !
1.Standard controllers
The standard controllers are the default controllers provided by Salesforce. They contain the same logic and functionality that are used for standard Salesforce pages. Every Salesforce object contains a standard controller that can be queried using the Salesforce Lightning Platform API. When a user interacts with a component on the page, the controller interacts with the database, fetches the relevant data, and displays it on the page. To display the relevant data on the Visualforce page, we need a record ID. So, we need to send an ID as a query string parameter in the page URL. The standard controller has a getter method that returns the record related to the query ID. If a user doesn't have access to a certain object (or component) on the page, which is associated with a standard controller, it will display an insufficient privileges error message to the user.
Associating a standard controller with a Visualforce page
To associate a standard controller to a Visualforce page, we have to use the “standardController” attribute on the
Salesforce Training
- Master Your Craft
- Lifetime LMS & Faculty Access
- 24/7 online expert support
- Real-world & Project Based Learning
2.Standard List Controllers
Standard list controllers are used for displaying or act on a set of records on the Visualforce pages. Related lists, list pages, and mass action pages are some of the examples of Salesforce pages that work with a set of records. The following are the objects that can be used with standard list controllers.
- Account
- Contract
- Idea
- Order
- Product2
- Solution
- User
- Lead
- Opportunity
- Asset
- Campaign
- Case
- Contact
- Custom objects
Associating a standard list controller with a Visualforce page
Associating a standard list controller is very much similar to associating a standard controller. In the standard list controller, we can set an object through the "standardController" attribute on the
Once the standard list controller is associated, we can act on a set of records using expression language syntax. We can use a standard list controller to add pagination to a page with the help of the next and previous actions.
Subscribe to our YouTube channel to get new updates..!
3.Custom Controllers
Custom controllers are used to implementing custom logic and data manipulation for a Visualforce page. If we want to perform things like calling an external web service, validate and insert data, we can use a custom controller. The custom controllers override the existing functionality and implement customized navigation through an application. They execute entirely in system mode and users will have full control over the app’s logic.
Create a Visualforce page that uses a custom controller
To add a custom controller to a Visualforce page, we have to set the "controller" attribute in the
Controller Extensions
A controller extension overrides behavior in a standard or custom controller. Any Apex class with a constructor that takes a single argument of type "ApexPages" is referred to as a controller extension. We can implement the functionality of another controller to an apex tag while adding custom logic. Here is an example class for controller extension.
public class myControllerExtension {
//custom code
}
We can extend this controller extension on a Visualforce page like below.
Both the controller extension and custom controller use the action, getter, and setter methods. The custom controllers and controller extension classes ignore user permissions and field-level security as they execute in system mode. So, the custom controllers and controller extensions are mainly used to set organization-wide defaults. Based on the user profile, we can even define whether a user can execute methods in a custom controller or controller extension class.
Conclusion
Apex is a complete programming language that we can use to implement effective Visualforce pages. We can use Apex properties, which are a combination of a variable with getter and setter methods. We can implement anything on a Visualforce page with the help of controllers in Apex code. Using controllers, we can implement features like dropdown on a Visual page. They allow you to filter the records displayed on the page. While working with controllers, you should have an eye out for validation rules. You should be able to handle the validation rule exceptions.
Related Articles:
About Author
Ishan is an IT graduate who has always been passionate about writing and storytelling. He is a tech-savvy and literary fanatic since his college days. Proficient in Data Science, Cloud Computing, and DevOps he is looking forward to spreading his words to the maximum audience to make them feel the adrenaline he feels when he pens down about the technological advancements. Apart from being tech-savvy and writing technical blogs, he is an entertainment writer, a blogger, and a traveler.
Upcoming Salesforce Training Online classes
Batch starts on 21st Nov 2024 |
|
||
Batch starts on 25th Nov 2024 |
|
||
Batch starts on 29th Nov 2024 |
|