Content management system 有没有办法添加一个“自定义”选项;回应";对于Silverstripe模型管理中的布尔摘要字段?

Content management system 有没有办法添加一个“自定义”选项;回应";对于Silverstripe模型管理中的布尔摘要字段?,content-management-system,silverstripe-4,modeladmin,Content Management System,Silverstripe 4,Modeladmin,我希望我的布尔人给出比真/假更友好的回答。我已经看到我能做Boolan了。很好,但那会让我同意/不同意 我使用了: class AboutusGallery extends DataObject{ private static $db = [ 'Description' => 'Varchar', 'ShowOnHomePage'=> 'Boolean', ]; private static $owns = [ 'Picture' ]; private

我希望我的布尔人给出比真/假更友好的回答。我已经看到我能做Boolan了。很好,但那会让我同意/不同意

我使用了:

 class AboutusGallery extends DataObject{
 private static $db = [
    'Description' => 'Varchar',
    'ShowOnHomePage'=> 'Boolean',
];

private static $owns = [
    'Picture'
];
private static $has_one = [
    'Picture' => Image::class,
    'HomePage' => HomePage::class,
];

private static $summary_fields = [
    'Thumbnail' => 'Immagine',
    'Description' => 'Descrizione',
    /* THIS WORKS*/
    'ShowOnHomePageITA' => 'In primo piano',
];

public function ShowOnHomePageITA(){
   return $this->ShowOnHomePage ? 'Si' : 'No';
}
ShowOnHomePageITA工作,做我想要的事情。但是,当我在我的模型管理员做同样的事情时,它刹车了

这就是我正在做的:

class PageLink extends DataObject {
private static $db = [
    'SortOrder' => 'Int',   
    'Description' => 'Varchar',
    'PageLink' => 'Varchar',
    'ShowOnHeader'=> 'Boolean',
];
private static $has_one = [
    'HomePage' => HomePage::class,
];

private static $summary_fields = [
    'Description',
    /* this does NOT work*/
    'MostraNelHeaderITA' => 'Header',
];

public function MostraNelHeaderITA(){
   return $this->ShowOnHeader ? 'Si' : 'No';
}
我也尝试过一些铸造,甚至在没有任何运气的情况下将布尔值转换为varchar

当我尝试开发/构建或刷新项目时,我得到以下信息:

(!)致命错误:在上调用成员函数scaffoldSearchField() 串通 D:\Programmazione\WebSites\Pediatra\vendor\silverstripe\framework\src\ORM\DataObject.php 在线2227


所以我想知道我是做错了还是不能在模型管理员上完成。因为除了模型管理员之外,它在其他任何地方都有效。

我认为您的问题在于,摘要字段数组的一部分只有一个值,而另一部分有一个键和一个值。尝试更改此选项:

-     'Descrizione',
+     'Description' => 'Descrizione',

谢谢你的回复,我已经尝试了改变,不幸的是,它给出了相同的错误