时间插件
一、视图
1.1、命名空间
<?php
use yii\jui\DatePicker;
?>
1.2.1、显示视图(两种格式)
(1)、<?= DatePicker::widget(['name' => 'date']) ?>
(2)、<?= DatePicker::widget(['name' => 'date','dateFormat' => 'yyyy-MM-dd']) ?>
1.2.2报错:Class 'yii\jui\DatePicker' 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:\mdc\phpNine\YII/vendor\bower/jquery-ui
要发布的文件或目录不存在【vendor\bower/jquery-ui】
下载一个jquery-ui加压并放到vendor\bower\下面。
二、入库
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'];这样也好使。
到这就入库了,这样应该哪还有弊端,暂时还没有发现,发现了再更新
一、视图
1.1、命名空间
<?php
use yii\jui\DatePicker;
?>
1.2.1、显示视图(两种格式)
(1)、<?= DatePicker::widget(['name' => 'date']) ?>
(2)、<?= DatePicker::widget(['name' => 'date','dateFormat' => 'yyyy-MM-dd']) ?>
1.2.2报错:Class 'yii\jui\DatePicker' 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:\mdc\phpNine\YII/vendor\bower/jquery-ui
要发布的文件或目录不存在【vendor\bower/jquery-ui】
下载一个jquery-ui加压并放到vendor\bower\下面。
二、入库
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'];这样也好使。
到这就入库了,这样应该哪还有弊端,暂时还没有发现,发现了再更新