如何在cakephp 3.4项目中使用引导datetimepicker

如何在cakephp 3.4项目中使用引导datetimepicker,php,cakephp,cakephp-3.0,bootstrap-datetimepicker,Php,Cakephp,Cakephp 3.0,Bootstrap Datetimepicker,我的huespedes/add.ctp中有此代码: <div class="form" > <?= $this->Form->create($huespede) ?> <fieldset> <legend><?= __('Añadir Huésped') ?></legend> <?php echo $this->Form->control('nombre',arra

我的huespedes/add.ctp中有此代码:

<div class="form" >
<?= $this->Form->create($huespede) ?>
<fieldset>
    <legend><?= __('Añadir Huésped') ?></legend>

    <?php

    echo $this->Form->control('nombre',array('type'=>'text','class' => 'form-control'));
        echo $this->Form->control('apellidos',array('type'=>'text','class' => 'form-control'));
        echo $this->Form->control('pasaporte', array ('label'=>'Pasaporte o Carnet de Identidad', 'class' => 'form-control','id' => 'carnet'));
        ?>
        <br>
        <?php
        echo $this->Form->control('fechanac', ['label'=>'Fecha de Nacimiento   .', 'empty' => true]);
        echo $this->Form->control('paise_id', ['label'=>'País', 'options' => $paises, 'empty' => 'Seleccione el País', 'class' => 'form-control']);
        echo $this->Form->control('observaciones', array ('class' => 'form-control'));
        echo $this->Form->hidden('habitacione_id', ['label'=>'Habitación', 'options' => $habitaciones, 'empty' => true, 'class' => 'form-control']);
        echo $this->Form->control('categoria_id', ['label'=>'Categorias', 'options' => $categorias, 'empty' => true, 'class' => 'form-control']);
    ?>
</fieldset>
<br>
<?= $this->Form->button(__('Aceptar')) ?>
<?= $this->Form->end() ?>
我希望fechanac字段与datetimepicker js和css一起显示,就像示例页面一样…

我假设您正在使用,如果这是正确的,那么示例是适用的,否则您需要进行调整。您很可能需要进行调整,但关键是利用选项数组传递数据格式等内容。您需要加载引导twitter css和js

你的目标是达到以下目标

<div class="well">
  <div id="datetimepicker1" class="input-append date">
    <input data-format="dd/MM/yyyy hh:mm:ss" type="text"></input>
    <span class="add-on">
      <i data-time-icon="icon-time" data-date-icon="icon-calendar">
      </i>
    </span>
  </div>
</div>
<script type="text/javascript">
  $(function() {
    $('#datetimepicker1').datetimepicker({
      language: 'pt-BR'
    });
  });
</script>
要获得此信息,您需要指定输入的类和其他选项

<div class="well">
  <div id="datetime-picker-div" class="input-append date">
    echo $this->Form->control('fechanac', ['label'=>'Fecha de Nacimiento   .', 'empty' => true, 'data-format' => 'dd/MM/yyyy hh:mm:ss', 'type' => 'text']);
    <span class="add-on">
      <i data-time-icon="icon-time" data-date-icon="icon-calendar">
      </i>
    </span>
  </div>
</div>
<script type="text/javascript">
  $(function() {
    $('#datetimepicker1').datetimepicker({
      language: 'pt-BR'
    });
  });
</script>
首先包括:

现在,在代码中包括:


这应该行得通。

我想你可以用这个例子:

<?= $this->Form->create($entity) ?>

<?= $this->Form->input('datetime_field' , [
    'type' => 'text',
    'class' => 'picker',
    'value' => $entity->datetime_field ? $entity->datetime_field->i18nFormat('y-MM-dd HH:mm:ss') : ''
]) ?>

<?= $this->Form->end(); ?>
然后初始化日期时间选择器:

<script type="text/javascript">
;+function() {
    $('.picker').datetimepicker({
        format : 'YYYY-MM-DD HH:mm:ss'
    })
}();
</script>
<?= $this->Form->create($entity) ?>

<?= $this->Form->input('datetime_field' , [
    'type' => 'text',
    'class' => 'picker',
    'value' => $entity->datetime_field ? $entity->datetime_field->i18nFormat('y-MM-dd HH:mm:ss') : ''
]) ?>

<?= $this->Form->end(); ?>
<script type="text/javascript">
;+function() {
    $('.picker').datetimepicker({
        format : 'YYYY-MM-DD HH:mm:ss'
    })
}();
</script>