【问题标题】:SilverStripe displaying redundant tabsSilverStripe 显示冗余选项卡
【发布时间】:2016-02-11 00:34:42
【问题描述】:

每当我设置$has_many$many_many 关系时,SilverStripe 都会在顶部标签条中创建相应的标签。我正在创建一个GridField,将其分配给一个变量并将其注入主选项卡。这工作正常,但“瓷砖”选项卡仍然存在,即使它是空的。

$fields->addFieldsToTab('Root.Main',
    [
        ... Other fields ...,
        $tiles
    ]
);

我尝试过$fields->removeByName('Tiles');,但这会删除选项卡和字段。有什么办法可以去掉顶部的标签并保留该字段?

主选项卡(在底部平铺网格字段)

平铺标签(空)

【问题讨论】:

    标签: silverstripe


    【解决方案1】:

    在添加新的Tiles GridField 之前删除Tiles 标签:

    $fields->removeByName('Tiles');
    
    $fields->addFieldsToTab('Root.Main',
        [
            ... Other fields ...,
            $tiles
        ]
    );
    

    【讨论】:

    • 如此简单...我觉得我什么都试过了!感谢您的修复:)