【问题标题】:SilverStripe File missing descriptionSilverStripe 文件缺少说明
【发布时间】:2015-12-18 10:02:23
【问题描述】:

我正在处理下载文件列表,我需要Description 来获取File

我发现File 类已经有一个Content $db 属性,但是CMS 中没有文本字段可以编辑这个属性。

如何为File 设置Content/Description

【问题讨论】:

  • 在 framework/filesystem/file.php 的代码 cmets 中,它提到 Content 字段通常是未使用的,但对于文件的文本表示很方便,例如用于 PDF 文档的全文索引。您可以创建一个 DataExtension 并在该扩展上实现 updateCMSFields(FieldList $fields)

标签: file silverstripe


【解决方案1】:

在 SilverStripe 3.2 中,我们可以通过添加 DataExtensionContent 字段添加到 FileFile 实际上已经包含了一个 Content 文本变量,但默认不显示该字段。

要将Content 字段添加到File CMS 字段,我们创建一个FileExtension DataExtension

class FileExtension extends DataExtension {

    public function updateCMSFields(FieldList $fields) {
        if (!$this->owner instanceof Folder) {
            $fields->addFieldToTab('Root.Main', TextareaField::create('Content'));
        }
    }
}

要将扩展名添加到File,我们需要将以下代码添加到我们的config.yml

File:
  extensions:
    - FileExtension

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-06
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多