相关疑难解决方法(0)

如何自动发布上传到Silverstripe模型管理员中的数据对象的文件

在Silverstripe 4中,上传的文件必须先发布,然后才能对网站的公共方面显示.

如果我使用$ has_one Image :: Class创建$ Page,然后将该图像分配给$ owns [],则在我发布页面时将发布上传的图像.

但是,如果我创建以下数据对象结构,它将不会.

Class Item extends DataObject{
    $has_one[
        'ItemImage'=>Image::Class,
        'Catalog'=>'Catalog'
    ];

    $owns[
        'ItemImage'
    ]
}

Class Catalog extend DataObject{
    $has_many[
        'Items'=>'Item'
    ]
    $owns[
        'Items'
    ]

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

        $fields->addFieldToTab('Root.Items', GridField::create('Items', 'Items', $this->Items(), GridFieldConfig_RecordEditor::create()));

        return $fields;

    }
}
Run Code Online (Sandbox Code Playgroud)

如果我创建了一个目录,并在其中创建带有图像的项目然后保存它,它将不会发布上传的图像.我将不得不手动:1.选择图像2.编辑原始3.发布

必须有一种更简单的方式为用户.

silverstripe silverstripe-4

6
推荐指数
2
解决办法
670
查看次数

标签 统计

silverstripe ×1

silverstripe-4 ×1