How To Add Custom Actions/Views

Besides the default actions such as EDIT, DETAIL, LIST; we can add extra custom actions for any modules. This article shows you the steps to do that.

Add a custom action for the <desired_module> module. Firstly, you have to create a file controller.php in the following directory.

Steps are as below,

Step 1: create file in custom/modules/<desired_module>controller.php and add below code.

<?php
require_once('include/MVC/Controller/SugarController.php');

class <desired_module>Controller extends SugarController {
    
 function action_<desired_action_name>(){
 $this->view = '<desired_view_name>';
 }
}
?>

Step :2 Create file in custom/modules/ <desired_module>/views/view.<desired_view_name>.php and add below code

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

require_once('include/MVC/View/views/view.detail.php');

class View<desired_view_name> extends ViewDetail {

	function View<desired_view_name>(){
		parent::ViewDetail();
	}
	
	function display() {
		echo "hello";
	}
}

?>

Step 3: Copy your include/MVC/Controller/action_view_map.php file to custom/ include/MVC/Controller/action_view_map.php and add below code

$action_view_map['<desired_action_name>'] = <desired_view_name>;

Step 4: Do Quick Repair and Rebuild

Note:

Here, <desired_module> means the module name you see in the URL, for example, Contacts, Leads, etc.
Here, < desired_view_name > means the any view name for example, custom_view, etc.
Here, <desired_action_name> means module object for example custom_action, etc.
After Customization

Hope this helps and feels like missing piece is just found!

Feel free to drop your comments.

Your valuable feedback means a lot.

You can contact us at info@infotechbuddies.com

Thank you.

Spread the love

Leave a Reply

Your email address will not be published. Required fields are marked *