簡體   English   中英

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> ,以便輸入日期的順序為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM