使用带有Phalcon Volt模板引擎的datepicker

时间:2014-09-17 04:32:16

标签: php date phalcon volt

我是Phalcon PHP框架和Volt模板引擎的新手。 到目前为止我真的很喜欢它。

然而,我无法弄清楚的一件事是如何将日期选择器实现到日期字段。 我有一个日期字段定义如下,但不必手动输入日期,我希望用户从日期选择器中选择日期。

<?php echo Tag::dateField(array("finishdate", "size" => 8, "maxlength" => 8, "type" => "date")) ?>

我想也许它会自动获得一个日期选择器,如果它被定义为日期字段,或者可能在某个地方有一个选项,但我看了整个互联网,我找不到任何东西。

如果有人知道如何解决这个问题,我将非常感激?

我也在试图找出Volt textArea,但我也无法找到有关此问题的任何信息。我似乎无法将文本区域显示为文本框。用户关于Phalcon Volt的信息似乎很少。没人用吗?

2 个答案:

答案 0 :(得分:1)

我做到了!我使用了datepicker(https://jqueryui.com/datepicker/)。我和你分享了这些代码。

表格:

$fecha = new Text('fecha_final');
    $fecha->setLabel('Fecha Final');
    $fecha->addValidators(array(
        new PresenceOf(array(
            'message' => 'Por favor pon una fecha límite'
            ))
        ));
    $this->add($fecha);

控制器:

public function nuevakeywordAction(){
    $auth = $this->session->get('auth');
    $permiso = $auth['active'];
    if($permiso!='A'){return $this->forward('servicios/index');}

    $form = new NuevakeywordForm;

    if ($this->request->isPost()) {

        $trackeable = $this->request->getPost('trackeable', array('string', 'striptags'));
        $idcliente = $this->request->getPost('idcliente');
        $fecha = $this->request->getPost('fecha');

        $keyword = new Keyword();
        $keyword->trackeable = $trackeable;
        $keyword->cliente_idcliente = $idcliente;
        $keyword->fecha_inicial = new Phalcon\Db\RawValue('now()');
        $keyword->fecha_final = $fecha;
        if ($keyword->save() == false) {
            foreach ($keyword->getMessages() as $message) {
                $this->flash->error((string) $message);
            }
        } else {
            $this->tag->setDefault('trackeable', '');
            $this->tag->setDefault('idcliente', '');
            $this->tag->setDefault('fecha', '');
            $this->flash->success('Keyword agregada correctamente');
            return $this->forward('admin/verkeywords');
        }
    }

    $this->view->form = $form;
}

查看:

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<section class="container animated fadeInUp">
<div class="row">
    <div class="col-md-6 col-md-offset-3">
    <div id="login-wrapper">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h3 class="panel-title">     
                    Registrar Nueva Keyword
                </h3>  
            </div>
            <div class="panel-body">
                {{ form('admin/nuevakeyword/', 'id': 'nuevakeywordForm', 'onbeforesubmit': 'return false') }}

                <fieldset>

                    <div class="control-group">
                        {{ form.label('trackeable', ['class': 'control-label']) }}
                        <div class="controls">
                            {{ form.render('trackeable', ['class': 'form-control']) }}
                        </div>
                    </div>

                    <div class="control-group">
                        {{ form.label('idcliente', ['class': 'control-label']) }}
                        <div class="controls">
                            {{ form.render('idcliente', ['class': 'form-control']) }}                           
                        </div>
                    </div>

                    <div class="control-group">
                        {{ form.label('fecha_final', ['class': 'control-label']) }}
                        <div id="datepicker" class="controls">
                            {{ form.render('fecha_final', ['class': 'form-control']) }}
                        </div>
                    </div>

                    <div class="form-actions">
                        {{ submit_button('Insertar', 'class': 'btn btn-primary', 'onclick': 'return SignUp.validate();') }}
                    </div>

                </fieldset>
                </form>
            </div>
        </div>
    </div>
    </div>
</div>
</section>

<script type="text/javascript">
$(function() {
        $("#fecha_final").datepicker();
});
</script>

我希望它会对你有所帮助。

答案 1 :(得分:0)

日期字段仅使用HTML5的日期字段。如果您需要日期选择器,则必须使用Javascript日期选择器库。

对于文本区域和文本字段,您应使用函数text_field()创建文本字段,使用text_area()创建文本区域。您可以使用的功能列表位于Volt – Using tag helpers文档页面。