gpt4 book ai didi

php - 在 SugarCRM 7 中更改子面板顺序

转载 作者:可可西里 更新时间:2023-11-01 00:44:33 25 4
gpt4 key购买 nike

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

'order' => 1 

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

一点运气都没有..

最佳答案

更新:正如 UTAlan 所说,从 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,
..
}

在 View 中呈现的顺序基于每个 bean 名称插入到此文件中的“组件”键中的顺序:modules/Opportunities/clients/base/layouts/subpanels/subpanels.php

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

关于php - 在 SugarCRM 7 中更改子面板顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23468430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com