首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Silverstripe4中,GridField的标准"Add“按钮什么也不做

在Silverstripe4中,GridField的标准"Add“按钮什么也不做
EN

Stack Overflow用户
提问于 2018-06-02 19:40:15
回答 1查看 129关注 0票数 0

我第一次尝试使用GridField组件。我已经使用GridFieldConfig_RecordEditor添加了一个'Add‘按钮,如下所示:

代码语言:javascript
复制
class AdvertisersPage extends Page
{
    //...

    public function getCMSFields()
    {
        $fields = parent::getCMSFields();

        $advertiserAccounts = AdvertiserAccount::get();

        $fields->addFieldToTab('Root.Advertisers',
            $gridField = new GridField(
                'Advertisers',
                'All advertisers',
                $this->Advertisers(),
                GridFieldConfig_RecordEditor::create()
            )
        );

        return $fields;
    }
}

但是该按钮除了将浏览器中的URL从

管理/页面/编辑/显示/7

admin/pages/edit/EditForm/7/field/Advertisers/item/new

下面是相关的DataObject类:

代码语言:javascript
复制
class AdvertiserAccount extends DataObject
{
    //...

    private static $has_one = [
        'AdvertisersPage' => AdvertisersPage::class,
    ];

    public function getCMSFields()
    {
        $fields = FieldList::create(
            TextField::create('contactNumber'),
            TextField::create('nickname')
        );

        return $fields;
    }
}

我需要你的建议,我应该看什么来解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-06-03 02:06:00

这是一个非常奇怪的bug。

我做了一些实验,并对相关类进行了重命名。我发现只有当第一个GridField构造器参数名称是以下参数之一时才会出现问题:'Adv','Advert',‘Advert’,'Advertiser‘和'Advertisers’。在这个项目中,我没有得到任何具有这样名称的类。对项目的所有文件进行全文搜索都没有给出任何结果。

所以,我仅仅通过重命名参数就解决了这个问题,但是这是什么呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50656528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档