小编Dan*_* H.的帖子

如何自动发布上传到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中$ has_one的默认下拉列表

我试过:removeFieldFromTab removeByName replaceField

但该领域仍然存在.

use SilverStripe\ORM\DataObject;
use //.....

class Product extends DataObject {
    private static $db = [
        'ProductName'=>'Varchar',
        'TagLine'=>'Text',
        'GeneralDescription'=>'HTMLText'

    ];
    private static $has_one = [
        'SplashImage'=>Image::Class,
        'ProductCategory'=>ProductCategory::Class
    ];
    private static $has_many = [
        'ProductImage'=>Image::Class,
        'Features'=>'Feature'
    ];
    private static $owns = [
        'SplashImage',
        'ProductImage'
    ];
    private static $summary_fields = array(
        'ProductName'=>'Product Name'
    );   
    private static $searchable_fields = [

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

        $categoryField = DropdownField::create('ProductCategory', 'Choose Product Category', ProductCategory::get()->map('ID', 'ProductCategoryTitle'));            

        $fields->replaceField('ProductCategory', $categoryField);

        return $fields;     
    }
} …
Run Code Online (Sandbox Code Playgroud)

silverstripe silverstripe-4

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

标签 统计

silverstripe ×2

silverstripe-4 ×2