Joomla 3.4.5表格字段日历显示1970-01-01而不是空

时间:2015-11-20 10:42:20

标签: forms joomla datepicker calendar

我坚持这个问题: 我在fomrs中使用日历表单字段,MySQL数据库字段为此设置为DATE并默认为0000-00-00 xml中的表单字段定义使用

format="%Y-%m-%d"
default="0000-00-00"

在前端始终显示1970-01-01而不是空字段。 我在网上搜索但是如果数据库中存在零,则无法找到如何获得空字段的解决方案。可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

用于存储此日期的字段不允许NULL值,因此使用了0000-00-00作为默认值(它是日期字段)。因此,当我更改数据库中的字段以允许NULL值并将特定记录的值设置为NULL时,我决定查看发生了什么。等瞧...问题解决了。没有更多“奇怪的日期”显示。

然而......当保存日期字段时,Joomla决定将它存储为0000-00-00,使显示屏再次伪造。因此,我看了一下模型并添加了一行:

if ($data->birth_date == '0000-00-00') { $data->birth_date = ''; }

在受保护函数loadFormData()中返回$ data之前。

现在完成它,因为上市仍然显示“0000-00-00”我看了一下该模型的列表并添加

$oneItem->birth_date = ($oneItem->birth_date == '0000-00-00') ? "" : $oneItem->birth_date;

在公共函数getItems()返回$ items之前。

答案 1 :(得分:-1)

您已将默认设置为:0000-00-00。

这是计算机发明之前的一段时间,如果日期无效或无效,php默认返回到下面

1970-01-01

因此,它将尽可能地保持原样。

设置实际默认日期或设置为NOW以在当前日期加载。