在php文件中添加CMS字段后出现内部服务器错误

时间:2018-11-04 02:12:03

标签: php content-management-system silverstripe silverstripe-4

我为模板类型创建了Homepage.ss,为页面类型创建了Homepage.php,并在添加了一些代码以在php文件中添加字段之后,我收到了内部服务器错误消息,该消息在一个小窗口中弹出页面的右上角,我也无法进入管理页面的编辑模式或预览模式。

已经刷新了缓存并也运行dev / build,但是不起作用。

enter image description here

下面是进入首页时admin的屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:2)

  

我收到一个内部服务器错误消息,该消息在页面右上角的一个小窗口中弹出

首先,当您遇到系统错误时,通常可以进行一些基本的调试以找出实际问题所在。这可能涉及将SS_ENVIRONMENT_TYPE .env var设置为“ dev”,以便打印异常跟踪(直接显示在屏幕上或在您的网络请求浏览器监视器中的AJAX请求)。

一旦知道了问题所在,就可以解决该问题。


您的问题是您没有在代码中处理任何类名称空间。 PagePageController存在于全局名称空间中,但其他所有内容均已命名空间。试试这个:

<?php

use SilverStripe\Forms\HTMLEditor\HTMLEditorField;

class Homepage extends Page
{
    private static $db = [
        'BottomContent' => 'HTMLText',
    ];

    public function getCMSFields()
    {
        $fields = parent::getCMSFields();
        $fields->addFieldToTab('Root.Main', HTMLEditorField::create('BottomContent', 'Bottom Content'));
        return $fields;
    }
}