Sugarcrm支持产品指南糖开发人员糖开发人员指南10.0建筑学向后兼容性启用向后兼容性

启用向后兼容性

概述

如何为模块启用向后兼容性。

启用向后兼容性

向后兼容模式不是具有遗留自定义的模块的永久解决方案。如果您需要暂时获取由于遗留自定义而导致的模块,则可以按照以下步骤来启用传统MVC框架。请注意,不支持从Sidecar框架到向后兼容模式的开关库存糖模块,可能导致应用程序中的意外行为。

启用BWC.

To enable backward compatibility, you must first create a file in ./custom/extension/pplication/ext/include/ for the module. If the module is custom, there will already be an existing file in this folder pertaining to the module that you can edit.

./custom/extension/pplication/ext/include/<file>.php

<?php

$bwcModules[] = '<module key>';

文件到位后,您需要导航到管理员> Repair >快速修复和重建。快速修复可以等到您已完成以下自定义的以下部分。

启用模块的向后兼容后,您需要手动更新模块的链接 Megamenu.。这将在用户单击Megamenu上的实际模块名称时控制导航。

./custom/modules/<module>/ clients/base/layouts/records/records.php.

<?php

$viewdefs['<module key>']['base']['layout']['records'] = array(
    'name' => 'bwc',
    'type' => 'bwc',
    'components' =>
    array(
        array(
            'view' => 'bwc',
        ),
    ),
);

文件到位后,您需要导航到管理员> Repair >快速修复和重建。快速修复可以等到您已完成以下定制的以下部分。

更新Megamenu模块链接后,您需要手动更新模块的Megamenu 行动链接.

模块的部署子导航链接模块将类似于下面显示的文件:

./modules/<module>/ clients/base/menus/header/header.php.

<?php

$moduleName = '<module key>';

$viewdefs[$moduleName]['base']['menu']['header'] = array(
    array(
        'route' => "#$moduleName/create",
        'label' => 'LNK_NEW_RECORD',
        'acl_action' => 'create',
        'acl_module' => $moduleName,
        'icon' => 'icon-plus',
    ),
    array(
        'route' => "#$moduleName",
        'label' => 'LNK_LIST',
        'acl_action' => 'list',
        'acl_module' => $moduleName,
        'icon' => 'icon-reorder',
    ),
    array(
        'route' => "#bwc/index.php?module=Import&action=Step1&import_module=$moduleName&return_module=$moduleName&return_action=index",
        'label' => 'LBL_IMPORT',
        'acl_action' => 'import',
        'acl_module' => $moduleName,
        'icon' => '',
    ),
);

该文件应重复到自定义目录并编辑以将URL调整为BWC格式。下面的示例演示了复制文件所需的更改。

./custom/modules/<module>/ clients/base/menus/header/header.php.

<?php

$moduleName = '<module key>';

$viewdefs[$moduleName]['base']['menu']['header'] = array(
    array(
        'route' => "#bwc/index.php?module=$moduleName&action=EditView",
        'label' => 'LNK_NEW_RECORD',
        'acl_action' => 'create',
        'acl_module' => $moduleName,
        'icon' => 'icon-plus',
    ),
    array(
        'route' => "#bwc/index.php?module=$moduleName&action=ListView",
        'label' => 'LNK_LIST',
        'acl_action' => 'list',
        'acl_module' => $moduleName,
        'icon' => 'icon-reorder',
    ),
    array(
        'route' => "#bwc/index.php?module=Import&action=Step1&import_module=$moduleName&return_module=$moduleName&return_action=index",
        'label' => 'LBL_IMPORT',
        'acl_action' => 'import',
        'acl_module' => $moduleName,
        'icon' => '',
    ),
);

文件到位后,您需要导航到管理员> Repair >快速修复和重建。

验证BWC已启用

To verify that backward compatibility is enabled, you can inspect App.metadata.get().modules after running a Quick Repair and Rebuild in your browser's console window:

在Google Chrome中使用开发人员工具

  1. 打开开发人员工具
    • 这可以通过以下方式完成:
      1. 命令+选项+ i

      2. 看法> Developer > Developer Tools

      3. 右键单击网页并选择“检查元素”

  2. 选择“控制台”选项卡

  3. 运行以下命令,替换<module key>并验证它返回true:

App.metadata.get().modules.<module key>.isBwcEnabled

在Google Chrome或Mozilla Firefox中使用Firebug

  1. 打开萤火虫
  2. 选择“控制台”选项卡

  3. 运行以下命令,替换<module key>,并验证它返回true:

App.metadata.get().modules.<module key>.isBwcEnabled

最后修改:2020-03-16 17:00:15