Добавление настраиваемого поля Datefield на страницу события в Silverstripe

В течение последних нескольких дней я пытался добавить настраиваемое поле даты на страницу своего события, используя следующие статьи:

http://www.silverstripe.org/data-model-questions/show/14274 http://doc.silverstripe.org/framework/en/trunk/reference/datefield

Мой последний подход заключался в следующем коде: http://doc.silverstripe.org/framework/en/tutorials/2-extending-a-basic-site

Вот мой код:

    <?php
class EventPage extends Page {
    public function getCMSFields() {
        $fields = parent::getCMSFields();

        $dateField = new DateField('Date', 'Article Date (for example: 20/12/2010)');
        $dateField->setConfig('showcalendar', true);
        $dateField->setConfig('dateformat', 'dd/MM/YYYY');

        $fields->addFieldToTab('Root.Main', $dateField, 'Content');

        return $fields;
    }
}
class EventPage_Controller extends Page_Controller {
}

Проблема, с которой я сталкиваюсь, заключается в следующем: пытаясь собрать, он не собирается полностью, т.е. не собирает все и не дает мне сообщения о том, что сборка завершена.

Переходя к странице администратора, я вижу белый пустой экран, хотя у меня есть среда, установленная на dev, и ошибки отображения - все это в файле конфигурации:

Director::set_environment_type('dev');
error_reporting(E_ALL);

1 ответ

Вы также установили атрибут объекта $db, чтобы поле было где-то в базе данных для сохранения?

private static $db = array(
    'Date' => 'Date'
);

Я не вижу никаких явных ошибок в вашем коде выше, вы выбрали правильный подход. Работал ли dev / build до того, как вы добавили этот код? Может ли быть что-то совершенно не связанное, вызывающее проблему?

Другие вопросы по тегам