【问题标题】:sugarcrm 6.5 set number columns to 3 in one tab/panel, 2 in other tabsSugarcrm 6.5 在一个选项卡/面板中将数字列设置为 3,在其他选项卡中设置为 2
【发布时间】:2014-04-15 21:07:21
【问题描述】:

我知道如何通过放入 detailviewdefs.php 将详细视图中的列设置为 3 列而不是默认的 2 列

(如果创建自定义模块,则在 modules/EvMgr_Pgm/metadata 中

如果编辑现有模块,则在 custom/modules/EvMgr_Pgm/metadata 中)

'maxColumns' => '3',
'widths' => 
array (
  0 => 
  array (
    'label' => '8',
    'field' => '19',
  ),
  1 => 
  array (
    'label' => '8',
    'field' => '19',
  ),
  2 => 
  array (
    'label' => '8',
    'field' => '19',
  ),
),

但是,这会为详细视图中的所有选项卡/面板设置列

有没有办法让一个选项卡/面板中有 3 列,其他选项卡/面板中有 2 列(默认)?

【问题讨论】:

  • 必须重构或扩展“编辑”和“详细信息”视图的呈现方式。从来没有因为这个原因这样做过,但是我之前扩展了 EditView 并且非常乏味。必须有它自己的 action_view_map 条目、视图定义、editviewdefs 等。我见过的“陷阱”都与表单引用自身的方式有关,当它真的是“mycustomeditview”时,一切都想说“editview”——祝你好运.
  • 这就是我害怕的。在这种情况下,由于我希望能够在 Accounts 中执行此操作,因此当我安装另一个包时,所有更改都必须通过清单脚本完成,这增加了它的复杂性。我希望有类似 ParserFactory 的东西,你向我展示了 editviewdefs.php,但显然没有。值得一试...
  • 哦,是的,您不可能在不消除系统现有字段布局的情况下可靠地打包这样的东西以进行大规模分发。好吧,也许对于单个自定义模块......所以这取决于您是否希望多个模块使用这种 3/2 切换布局。

标签: sugarcrm detailview


【解决方案1】:

如果您将宽度更改为超过 100,它将重新计算具有 3 列或更多列的面板/表格的宽度。试试这个:

'maxColumns' => '3',
'widths' => 
array (
  0 => 
  array (
    'label' => '10',
    'field' => '30',
  ),
  1 => 
  array (
    'label' => '10',
    'field' => '30',
  ),
  2 => 
  array (
    'label' => '10',
    'field' => '30',
  ),
),

这使用标准的 2 列 10/30 宽度。当面板创建为 3 列时,它会重新计算宽度,因为它大于 100。至少从 6.5.18 开始。很可能它也适用于以前的版本。

【讨论】:

  • 注意:这在编辑视图上效果很好。细节视图仍然窒息。它有效,但不是最漂亮的。另一种方法是使用单独的 smarty 模板,在自定义视图中呈现它,然后将其加载到面板中的单个字段中。
猜你喜欢
  • 1970-01-01
  • 2021-03-18
  • 2015-09-14
  • 1970-01-01
  • 2019-05-17
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多