php - SilverStripe 4.3.1 - 从 SS 4.2.1 将默认 bool 值转换为是或否

标签 php silverstripe silverstripe-4

我已经成功地创建了一个画廊登陆页面,将指定的子专辑封面图像拉到它自己。这在 SS 4.2.1 中完美运行,然后我创建了一个新的 SS 4.3.1 并复制了所有模板。除此画廊外,一切正常。当我在管理界面中时,我可以点击图库页面并且没有错误消息,但是当我点击子 AlbumPage 页面时,我收到以下错误:

[Emergency] Uncaught Error: Call to a member function scaffoldSearchField() 
on string
GET /bubbleshop/admin/pages/edit/show/48
Line 2249 in /var/www/silverstripe/bubbleshop/vendor/silverstripe/framework/src/ORM/DataObject.php

Source
2240 
2241                 // Otherwise we have a bug
2242                 } else {
2243                     user_error("Bad value for searchable_fields, 
'field' value: "
2244                         . var_export($spec['field'], true), 
E_USER_WARNING);
2245                 }
2246 
2247             // Otherwise, use the database field's scaffolder
2248             } elseif ($object = $this->relObject($fieldName)) {
2249                 $field = $object->scaffoldSearchField();
2250             }
2251 
2252             // Allow fields to opt out of search
2253             if (!$field) {
2254                 continue;
2255             }

我已经设法找出导致错误的代码。在 private static $summary_fields 中,我有一个 bool 值,下面这个要转换为是或否,但我不确定如何修复它。

public function Cover(){
        return ($this->Cover==true ? 'Yes' : ' ');
    }

提前感谢您的关注。

最好的问候, 琳

最佳答案

我们可以使用 Boolean Nice 函数返回 bool 值的 nice 版本。使用以下命令并从您的类中删除自定义 Cover() 函数。

private static $summary_fields = [
    'Cover.Nice',
];

private static $field_labels = [
    'Cover.Nice' => 'Cover',
];

关于php - SilverStripe 4.3.1 - 从 SS 4.2.1 将默认 bool 值转换为是或否,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54835703/

相关文章:

php - 如何用php在mysql中计算匹配标签百分比

php - MySQL查询获取列名?

php - Silverstripe-循环many_many关系中的所有项目

php - MySQL在php中选择列长度(PHP7以下)

php - Laravel beyondcode websockets 不连接

php - 如何使用 SilverStripe 显示文件存档

postgresql - master 数据库不可用时自动切换到只读数据库

银条 3 : ModelAdmin with DataObject with $has_many to DataObject gives error

php - 在 Silverstripe 4 中扩展 UserDefinedForm 类的问题

php - 如何在 Silverstripe 中限制对 $has_one 成员的对象访问?