Let the platform do the work

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 .