我希望在某个过期日期创建某种页面(尝试从silverstripe文档中应用日期选择器并不能与我合作)。 那个日期应该在将来,那个日期,我想要隐藏这篇文章。
答案 0 :(得分:1)
查看silverstripe/advancedworkflow模块 - 这支持禁运/有效期(以及其他事项)。
答案 1 :(得分:0)
这是一个使用CMS控制的ExpiryDate控制是否可以查看页面的简单实现。此解决方案适用于Silverstripe 3.1。
class Page extends SiteTree {
private static $db = array(
'ExpiryDate' => 'SS_Datetime'
);
public function canView($member = null) {
if ($this->ExpiryDate) {
if ($this->obj('ExpiryDate')->InPast()) {
return false;
}
}
return parent::canView($member);
}
public function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Main', $expiryDateField = Datetimefield::create('ExpiryDate', 'Page Expiry Date'), 'Content');
$expiryDateField->getDateField()->setConfig('showcalendar', true);
$expiryDateField->getTimeField()->setConfig('timeformat', 'HH:mm:ss');
return $fields;
}
}