[英]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>
,以便輸入日期的順序為day-month-year 。 但是蛋糕是按年日月順序生成的。 我在.ctp頁面上使用的代碼是echo $this->Form->input('Leverdatum ', ['type' => 'date', 'default' => date("dmy", strtotime($orders->DELIVERYDATE))]);
但這只會填寫正確的日期,而不會按照我希望他們的方式對選擇框進行排序。 我發現在cakePHP的早期版本中,可以使用'dateFormat' => 'DMY'
來實現。 但這已從cakePHP中刪除。
現在,我確實找到了一個“修復程序”,用於在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
而是在config文件夾中創建一個文件,其名稱類似於my_form_templates.php
然后在其中編寫您的模板
<?php
return [
'dateWidget' => '{{day}}{{month}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}'
];
?>
然后當您加載FormHelper時,您可以
$this->loadHelper('Form', [
'templates' => 'my_form_templates',
]);
這告訴cake使用模板而不是默認模板
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.