【问题标题】:Move metadata field in SilverStripe CMS?在 SilverStripe CMS 中移动元数据字段?
【发布时间】:2015-08-08 08:40:14
【问题描述】:

我正在尝试移动 SilverStripe CMS 中的默认元数据字段,但我似乎无法成功。这是我尝试过的:

    $fields->removeFieldFromTab("Root.Content.Main", "Metadata");
    $fields->insertBefore(new FormField('Metadata', 'Metadata'), 'Content');

但它不起作用。我可以删除此字段,但将其添加回我想要的位置是一个挑战,因为它不仅仅是一个普通的文本字段或 HTML 字段。使用上面的代码,我在我想要的位置插入了一个新的元数据字段,但它不是正确的字段类型,也不包含任何现有的元数据字段元素。

有没有办法在这样的领域中移动?

【问题讨论】:

    标签: content-management-system silverstripe


    【解决方案1】:

    我们可以使用$fields->fieldByName('Root.Main.Metadata') 来检索当前的元数据字段,以便我们可以将其放回。

    尝试以下方法:

    function getCMSFields() {
        $fields = parent::getCMSFields();
    
        if ($metadataField = $fields->fieldByName('Root.Main.Metadata')) {
            $fields->removeFieldFromTab('Root.Main', 'Metadata');
            $fields->addFieldToTab('Root.Main', $metadataField, 'Content');
        }
    
        return $fields;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      • 2016-06-21
      • 1970-01-01
      相关资源
      最近更新 更多