CakePHP 3.2 更改日期表单输入的默认顺序
CakePHP 3.2 changing default order of date form input
我试图让 cakephp 生成以下 HTML <div class="input date"><label>Leverdatum </label><select name="Leverdatum [day]">...</select><select name="Leverdatum [month]">...</select><select name="Leverdatum [year]">...</select></div>
以便输入日期的顺序是日-月-年。
然而,蛋糕是按照年-日-月的顺序生成的。
我在我的 .ctp 页面上使用的代码是 echo $this->Form->input('Leverdatum ', ['type' => 'date', 'default' => date("d-m-y", strtotime($orders->DELIVERYDATE))]);
但这只会填写正确的日期并且不会按照我希望的方式对 select 框进行排序。
我发现在以前的 cakePHP 版本中,您可以使用 'dateFormat' => 'DMY'
来实现这一点。但这显然已从 cakePHP 中删除。
现在我确实找到了一个 'fix',它是在 protected $_defaultConfig
中编辑位于 \Cake\View\Helper\FormHelper 的 cakePHP 文件,将变量 'dateWidget' => '{{year}}{{month}}{{day}}{{hour}}{{minute}}{{second}}{{meridian}}'
更改为我在 'dateWidget' => '{{day}}{{month}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}'
中想要的顺序。但我真的不想每次更新我的 cakePHP 版本时都必须这样做。
我的问题是:除了编辑他们的源文件之外,有没有办法告诉蛋糕我希望我的约会对象按什么顺序排列?
中都有解释
无论如何,不要编辑 $_defaultConfig
在您的配置文件夹中创建一个文件,将其命名为 my_form_templates.php
并在其中写入您的模板
<?php
return [
'dateWidget' => '{{day}}{{month}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}'
];
?>
然后当你加载 FormHelper 时你可以做
$this->loadHelper('Form', [
'templates' => 'my_form_templates',
]);
这告诉蛋糕使用您的模板而不是默认模板
我试图让 cakephp 生成以下 HTML <div class="input date"><label>Leverdatum </label><select name="Leverdatum [day]">...</select><select name="Leverdatum [month]">...</select><select name="Leverdatum [year]">...</select></div>
以便输入日期的顺序是日-月-年。
然而,蛋糕是按照年-日-月的顺序生成的。
我在我的 .ctp 页面上使用的代码是 echo $this->Form->input('Leverdatum ', ['type' => 'date', 'default' => date("d-m-y", strtotime($orders->DELIVERYDATE))]);
但这只会填写正确的日期并且不会按照我希望的方式对 select 框进行排序。
我发现在以前的 cakePHP 版本中,您可以使用 'dateFormat' => 'DMY'
来实现这一点。但这显然已从 cakePHP 中删除。
现在我确实找到了一个 'fix',它是在 protected $_defaultConfig
中编辑位于 \Cake\View\Helper\FormHelper 的 cakePHP 文件,将变量 'dateWidget' => '{{year}}{{month}}{{day}}{{hour}}{{minute}}{{second}}{{meridian}}'
更改为我在 'dateWidget' => '{{day}}{{month}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}'
中想要的顺序。但我真的不想每次更新我的 cakePHP 版本时都必须这样做。
我的问题是:除了编辑他们的源文件之外,有没有办法告诉蛋糕我希望我的约会对象按什么顺序排列?
无论如何,不要编辑 $_defaultConfig
在您的配置文件夹中创建一个文件,将其命名为 my_form_templates.php
并在其中写入您的模板
<?php
return [
'dateWidget' => '{{day}}{{month}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}'
];
?>
然后当你加载 FormHelper 时你可以做
$this->loadHelper('Form', [
'templates' => 'my_form_templates',
]);
这告诉蛋糕使用您的模板而不是默认模板