小编Rem*_*iks的帖子

如何在silverstripe dataextension中自动发布图像

我试图将一个uploadfield添加到Custom DataExtension并使Image字段工作.然而,我上传的图像保持在概念模式,我必须转到文件选项卡发布它.我尝试使用Silverstripe文档中提供的代码,但这似乎只适用于常规页面.我发现了一个类似于我的问题:如何自动发布上传到Silverstripe模型管理员 中的数据对象的文件,但这似乎只适用于DataObjects.

这是我目前的代码:

<?php
use SilverStripe\Forms\LiteralField;
use SilverStripe\Forms\TextField;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
use SilverStripe\AssetAdmin\Forms\UploadField;
use SilverStripe\Assets\Image;
use SilverStripe\Assets\Storage\AssetStore;
use SilverStripe\Versioned\Versioned;
use SilverStripe\ORM\DataExtension;

class CustomSiteConfig extends DataExtension 
{   
    private static $db = [          
    ];      

    private static $has_one = [
        'Logo' => Image::class
    ];  

    private static $owns = [
        'Logo'
    ];  

    private static $extensions = [
        Versioned::class,
    ];  

    private static $versioned_gridfield_extensions = true;  

    public function updateCMSFields(FieldList $fields) 
    {
        $fields->addFieldToTab("Root.Header", LiteralField::create("","<h1>Header</h1>"));                  
        $fields->addFieldToTab("Root.Header", UploadField::create('Logo', 'Logo'));                     
    }       
}
Run Code Online (Sandbox Code Playgroud)

有谁知道解决方案?

php silverstripe silverstripe-4

3
推荐指数
1
解决办法
494
查看次数

标签 统计

php ×1

silverstripe ×1

silverstripe-4 ×1