cakephp 3.x 日期时间容器模板

cakephp 3.x datetime container template

我正在使用 Cakephp 3 和 Bootstrap 构建一个简单的办公任务站点。 我正在尝试替换 cakephp 用于日期的常规 3 输入日期。使用单个输入并通过 Javascript 将其替换为一些花哨的日期选择器。 所以我试图通过更改蛋糕用于构建表单输入的模板来做到这一点。文档说:

In addition to these templates, the input() method will attempt to use distinct templates for each input container. For example, when creating a datetime input the datetimeContainer will be used if it is present. If that container is missing the inputContainer template will be used.

但我正在使用它,它没有任何改变。 HTML 输出仍然使用常规的 inputContainer。这是我的代码:

'Templates'=>[
            'defaultForm' => [
                'label' => '<label class="col col-md-2 control-label" {{attrs}}>{{text}}</label>',
                'input' => '<div class="col col-md-10"><input class="form-control" type="{{type}}" name="{{name}}" {{attrs}} /></div>',
                'select' => '<div class="col col-md-10"><select class="form-control" name="{{name}}"{{attrs}}>{{content}}</select></div>',
                'inputContainer' => '<div class="form-group">{{content}}</div>',
                'datetimeContainer' => '<div class="form-group"><div class="input-group date col col-md-10">{{content}}</div></div>',
                'dateWidget' => '<input type="text" class="form-control" name="{{name}}" {{attrs}} /><span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>'
            ]
        ]

我错过了什么吗?

好的,我刚刚发现我的错误。 我使用的是 "datetimeContainer" 但数据库中的字段是 DATE,而不是 DATETIME。因此,cakephp 在构建表单 HTML 时会查找 "dateContainer"。 我改变了:

'datetimeContainer' => '<div class="form-group"><div class="input-group date col col-md-10">{{content}}</div></div>',

'dateContainer' => '<div class="form-group"><div class="input-group date col col-md-10">{{content}}</div></div>',

现在可以正常使用了。 希望这对任何人都有帮助。

我用 css 按照代码解决了:

.date > select {
    display: inline-block;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    height: 34px;
    padding: 6px 12px;
    width: 33.3%;
    font-size: 14px;
    line-height: 1.42857143;
}
.datetime > .date > select {
    display: inline-block;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    height: 34px;
    padding: 6px 12px;
    width: 20%;
    font-size: 14px;
    line-height: 1.42857143;
}

请遵循代码: