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.
![](https://www.techcrm.in/blogs/wp-content/uploads/2019/10/sshot-7.jpg)
![](https://www.techcrm.in/blogs/wp-content/uploads/2019/10/sshot-8.jpg)
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 [email protected]
Thank you.