1
我有一个系统用户可以编辑的日期字段,但是他们可以选择的内容有限制。现在它很简单,仅限于将来的“n”天。但是我可以看到它变得更加复杂,只允许工作日等。我可以手动编写select元素,但我很好奇是否有任何助手已经开始解决这个问题。在CakePHP视图中限制日期范围的最佳方法是什么?
我有一个系统用户可以编辑的日期字段,但是他们可以选择的内容有限制。现在它很简单,仅限于将来的“n”天。但是我可以看到它变得更加复杂,只允许工作日等。我可以手动编写select元素,但我很好奇是否有任何助手已经开始解决这个问题。在CakePHP视图中限制日期范围的最佳方法是什么?
我找不到任何东西。但是,这应该足够简单,创建:
// populate with the weekdays you want (0=Sunday, 1=Monday, etc.)
$weekdays = array(1,2,3,4,5);
$dates = array();
$today = strtotime(date("Y-m-d"));
$end_date = strtotime("+6 months");
while($today < $end_date) {
$weekday = date("w", $today);
if (in_array($weekday, $weekdays)) {
array_push($dates, date("Y-m-d", $today));
}
$today += 86400;
}
$this->set('dates', $dates)
然后在视图:
$this->Form->input('my_date', array('type' => 'select', 'options' => $dates));