【问题标题】:Change subpanel order in SugarCRM 7在 SugarCRM 7 中更改子面板顺序
【发布时间】:2014-05-05 08:49:09
【问题描述】:

如何通过代码或 GUI 更改每个子面板的顺序? 在 Sugar 6 中,用户可以简单地通过拖放每个模块下的子面板来更改顺序。 据我所知,这在 7.x 中是不可能的。 我试图改变

'order' => 1 

custom/Extension/modules/Opportunities/Ext/Layoutdefs/some_file.php 

没有运气..

【问题讨论】:

    标签: php customization sugarcrm


    【解决方案1】:

    更新: 正如乌塔兰所说, 从 7.5.0 版开始,这将成为 Sugar 库存功能的一部分:https://web.sugarcrm.com/support/issues/66590

    到此为止,原因和解决方法如下:

    'order' => 1 目前似乎不适用于 Sugar 7。

    解决方案

    复制文件

    modules/Opportunities/clients/base/layouts/subpanels/subpanels.php

    custom/modules/Opportunities/clients/base/layouts/subpanels/subpanels.php

    现在,将您的自定义子面板定义添加到数组的开头或按您想要的任何顺序。

    我的例子现在看起来像这样:

    $viewdefs['Opportunities']['base']['layout']['subpanels'] = array(
        'components' => array(
            // This is my custom module
            array(
                'layout' => 'subpanel',
                'label' => 'LBL_OPPORTUNITIES_FOOBAR_TITLE',
                'context' => array(
                    'link' => 'opportunities_foobar_1',
                ),
            ),
    
            .. // Code ommited
            array(
                'layout' => 'subpanel',
                'label' => 'LBL_EMAILS_SUBPANEL_TITLE',
                'context' => array (
                    'link' => 'archived_emails',
                ),
            ),
        ),
        'type' => 'subpanels',
        'span' => 12,
    );
    

    长答案:

    为什么 'order' => 1 不再起作用了?

    内部include/MetaDataManager/MetaDataConverter.php:327

    public function toLegacySubpanelLayoutDefs(array $layoutDefs, SugarBean $bean)    {
       ..
       foreach ($layoutDefs as $order => $def) {
       ..
           $return[$def['context']['link']] = array(
                    'order' => $order,
        ..
     }
    

    在视图中呈现的顺序取决于每个 bean-name 插入到此文件中的“components”键中的顺序: modules/Opportunities/clients/base/layouts/subpanels/subpanels.php

    核心模块被硬编码在 Opportunities 的子面板文件中。

    【讨论】:

    • 不错的发现。您是否为此提交了错误报告/建议的修复?
    • @MatthewPoer 我找到了一个更优雅的解决方案来解决这个问题。检查更新的答案。
    【解决方案2】:

    这将成为 Sugar 从 7.5.0 版开始的库存功能的一部分:https://web.sugarcrm.com/support/issues/66590

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多