2014-04-30 89 views
0

我曾尝试在过去的几天使用下面的文章添加自定义的DateField到我的活动页面:的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#showing-the-latest-news-on-the-homepage

这里是我的代码:

<?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 { 
} 

我面临的问题是: 试图构建,它并不完全构建,即不构建所有内容,也不会告诉我现在构建完成的消息。

事后要到后台管理页面,我看到白色空白屏幕,即使我有enviornment被设置到dev和显示错误是所有在配置文件中:

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

回答

0

你还设置了$数据库对象属性,所以该字段在数据库中的某处保存?

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

我在上面的代码中看不到任何明显的错误,您采取了正确的方法。在添加此代码之前,开发/构建是否工作?可能是导致问题完全无关的事情?

+0

是的,我把它放在同一个活动页面上。我发现这是与这个页面有关的东西..当我删除这个代码(即与datefield有关的所有东西)时,其他一切正常。 –

+0

您的Page类中是否有可能导致此问题的任何内容?因为EventPage从Page扩展而来。 – Cam

+0

你检查了你的错误日志吗?您提供的代码在dev/build期间不会运行。它会导致错误的唯一方法是如果有一个PHP解析错误(它看起来不像)。 – micmania1

相关问题