Silverstripe CMS BlogPost - DropdownField 或 SingleSelectField 從枚舉欄位填入
P粉573943755
P粉573943755 2023-09-16 16:02:00
0
1
794

我正在嘗試在 BlogPost 摘要視圖中新增標題顏色選項。 我將枚舉字段添加到資料庫中,並且我想在 BlogPost 標題下添加下拉/選擇字段。 我不確定要使用哪種字段類型以及如何正確設置它。

class BlogPostExtension extends DataExtension
{
    private static $db = [
        'ArchiveDate' => 'Date',
        'TitleColor' => "Enum(array('black','red','green'))" // works only with this syntax
    ];

    private static $defaults = [
        'TitleColor' => 'black'
    ];


    public function updateCMSFields(FieldList $fields)
    {
        $fields->push(new DateField('ArchiveDate', 'Archive date'));
        $fields->push(new DropdownField('TitleColor','Color')); // doesn't populate the dropdown field
      //  $fields->push(new SelectField('TitleColor','Color'));   // cannot instantiate abstract class 'SelectField'
    }
}

P粉573943755
P粉573943755

全部回覆(1)
P粉113938880

如果有人有興趣 - 我是這樣解決的:

public function updateCMSFields(FieldList $fields)
{
    $fields->push(new DateField('ArchiveDate', 'Archive date'));
    $fields->push(new DropdownField('TitleColor','Color', $this->getEnums()));
}

private function getEnums() {
    return singleton('SilverStripe\Blog\Model\BlogPost')->dbObject('TitleColor')->enumValues();
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!