ActionViewMap
Overview
The ActionViewMap extension maps additional actions for a module.
Note: Actions that apply to modules running in backward compatibility mode are mapped in ./custom/modules/<module>/controller.php.
Properties
The following extension properties are available. For more information, please refer to the Extension Property documentation.
| Property | Value | 
| Extension Scope | Module | 
| Sugar Variable | $action_view_map | 
| Extension Directory | ./custom/Extension/modules/<module>/Ext/ActionViewMap/ | 
| Compiled Extension File | ./custom/<module>/Ext/ActionViewMap/action_view_map.ext.php | 
| Manifest Installdef | $installdefs['action_view_map'] | 
Implementation
The following sections illustrate the various ways to implement a customization to a Sugar instance.
File System
When working directly with the filesystem, you can create a file in ./custom/Extension/modules/<module>/Ext/ActionViewMap/ to map a new view in the system. The following example will map a new action called 'example' to the 'example' view:
./custom/Extension/modules/<module>/Ext/ActionViewMap/<file>.php
  <?php
$action_view_map['example'] = 'example';
./custom/modules/<module>/views/view.example.php
  <?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
require_once('include/MVC/View/views/view.detail.php');
class <module>ViewExample extends ViewDetail
{
    function <module>ViewExample()
    {
        parent::ViewDetail();
    }
    function display()
    {
        echo 'Example View';
    }
}
?>
Next, navigate to Admin > Repair > Quick Repair and Rebuild. The system will then rebuild the extensions and compile your customization into ./custom/modules/<module>/Ext/ActionViewMap/action_view_map.ext.php.
Module Loadable Package
When building a module-loadable package, use the $installdefs['action_view_map'] index to install the extension file.
Installdef Properties
| Name | Type | Description | 
| from | String | The basepath of the file | 
| to_module | String | The key for the module where the file will be installed | 
The example below demonstrates the proper install definition for the ./manifest.php file in order to add the Action View Map file to a specific module. You should note that when using this approach, you still need to use the $installdefs['copy'] index for the View file, however, Sugar will automatically execute Rebuild Extensions to reflect the new Action View in the system.
./manifest.php
  <?php
$manifest = array(
    ...
);
$installdefs = array(
    'id' => 'actionView_example',
    'action_view_map' => array(
        array(
            'from' => '<basepath>/Files/custom/Extension/modules/<module>/Ext/ActionViewMap/<file>.php',
            'to_module' => '<module>',
        )
    ),
    'copy' => array(
        array(
            'from' => '<basepath>/Files/custom/modules/<module>/views/view.example.php',
            'to' => 'custom/modules/<module>/views/view.example.php',
        ),
    )
);
Alternatively, you may use the $installdefs['copy'] index for the Action View Map Extension file. When using this approach, you may need to manually run repair actions such as a Quick Repair and Rebuild.
For more information on module-loadable packages, please refer to the Introduction to the Manifest page .