Silverstripe CMS BlogPost - DropdownField atau SingleSelectField diisi dari medan enum
P粉573943755
P粉573943755 2023-09-16 16:02:00
0
1
663

Saya cuba menambah pilihan warna pengepala pada paparan ringkasan BlogPost. Saya menambah medan enum pada pangkalan data dan saya ingin menambah medan lungsur/pilih di bawah pengepala BlogPost. Saya tidak pasti jenis medan yang hendak digunakan dan cara menyediakannya dengan betul.

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

membalas semua (1)
P粉113938880

Jika ada yang berminat - begini cara saya menyelesaikannya:

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(); }
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!