Внутренняя ошибка сервера после добавления полей CMS в файл php - PullRequest
0 голосов
/ 04 ноября 2018

Я создал Homepage.ss для шаблона и Homepage.php для типа страницы, и после добавления некоторых кодов для добавления поля в php-файл я получаю сообщение об ошибке внутреннего сервера, которое появляется в небольшом окне по адресу в верхнем правом углу страницы, и я также не смог попасть ни в режим редактирования, ни в режим предварительного просмотра страницы администратора.

Уже очистил кеш и тоже запустил dev / build, но не работает.

enter image description here

Ниже приведен скриншот администратора при входе на домашнюю страницу

enter image description here

1 Ответ

0 голосов
/ 05 ноября 2018

Я получаю сообщение об ошибке внутреннего сервера, которое появляется в небольшом окне в верхнем правом углу страницы

Прежде всего, когда вы получаете системную ошибку, вы, как правило, сможете выполнить некоторую базовую отладку, чтобы выяснить, в чем именно заключается проблема. Это может включать установку переменной 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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...