牛骨文教育服务平台(让学习变的简单)
博文笔记

yii2时间插件

创建时间:2017-08-24 投稿人: 浏览次数:475
时间插件
一、视图
1.1、命名空间
<?php
use yiijuiDatePicker;
?>
1.2.1、显示视图(两种格式)
(1)、<?= DatePicker::widget(["name" => "date"]) ?>
(2)、<?= DatePicker::widget(["name" => "date","dateFormat" => "yyyy-MM-dd"]) ?>

1.2.2报错:Class "yiijuiDatePicker" not found【没有找到类"】
下载jui 地址:http://www.yiiframework.com/doc-2.0/yii-jui-datepicker.html
source code:https://github.com/yiisoft/yii2-jui/blob/master/DatePicker.php【yii2-jui】
会调到https://github.com/yiisoft/yii2-jui【点击下载 clone or download 下载压缩包】
A:解压并复制到vendor/yiisoft/下面。
B:在extensions.php文件里加上yii-jui的扩展并改相应的数据【对应名称与目录】
    //时间插件
    //文件夹路径
    //文件名称
    //文件版本号在yii2-jui/README.md文件里
    //命名空间
    "yiisoft/yii2-jui" =>
        array (
            "name" => "yiisoft/yii2-jui",
            "version" => "~2.0.0",
            "alias" =>
                array (
                    "@yii/jui" => $vendorDir . "/yiisoft/yii2-jui",
                ),
        ),
1.3、报错:The file or directory to be published does not exist: D:mdcphpNineYII/vendorower/jquery-ui
要发布的文件或目录不存在【vendorower/jquery-ui】
下载一个jquery-ui加压并放到vendorower下面。

二、入库
2.1.1、在model文件夹里找到SignupForm.php打开
2.1.2、在signup方法里添加$user->date = $this->date;保存入库
现在只是能用了,但并没有存到model里,存不了model就没法入库,那么以yii2框架自带的注册操作
首先在site控制器Signup方法中你会看到他是这样写的
public function actionSignup()
    {
        $model = new SignupForm();
        if ($model->load(Yii::$app->request->post())) {
            if ($user = $model->signup()) {
                if (Yii::$app->getUser()->login($user)) {
                    return $this->goHome();
                }
            }
        }
        return $this->render("signup", [
            "model" => $model,
        ]);
    }
首先打印接收POST的值你会发现插件的值(date)传过来了,这时候你入库的时候发现数据库的字段里并没有数据;
这时候你在去打印model你会发现时间插件的值并没有加载到model,我也是实在是想不出来好的办法了就直接把这个值存到model里面
        
    /**
         * 把date插件的时间存到$model里边,它自己不加载
         */
        if(!empty($_POST["date"])){
            $date = $_POST["date"];
            $model["date"]=$date;
        }

那么到这细心的就发现了,它可以直接在后台接到date的值啊  直接接到保存不得了还加这一步干嘛、确实是这样,刚刚开始的时候我也没发现、直接后台保存的时候把$user->date = $this->date;改成$user->date = $_POST["date"];这样也好使。


到这就入库了,这样应该哪还有弊端,暂时还没有发现,发现了再更新
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。