Я получаю сообщение об ошибке внутреннего сервера, которое появляется в небольшом окне в верхнем правом углу страницы
Прежде всего, когда вы получаете системную ошибку, вы, как правило, сможете выполнить некоторую базовую отладку, чтобы выяснить, в чем именно заключается проблема. Это может включать установку переменной SS_ENVIRONMENT_TYPE
.env в значение «dev», чтобы печатать трассировки исключений (либо непосредственно на экране, либо в мониторе браузера сетевых запросов для запросов AJAX).
Когда вы знаете, в чем проблема, вы можете решить, как ее исправить.
Ваша проблема в том, что вы не обрабатываете ни одно из пространств имен классов в своем коде. Page
и PageController
существуют в глобальном пространстве имен, но все остальное является пространством имен. Попробуйте это:
<?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;
}
}