gpt4 book ai didi

Yii2实现中国省市区三级联动实例

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Yii2实现中国省市区三级联动实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1、获取源码:yii2-region.rar 。

2、安装 。

添加到你的composer.json文件 。

?
1
"chenkby/yii2-region" : "dev-master"

切换到项目目录 。

composer update,

3、配置 。

1) 在地区的Model中添加以下方法 。

?
1
2
3
4
5
public static function getRegion( $parentId =0)
{
   $result = static ::find()->where([ 'parent_id' => $parentId ])->asArray()->all();
   return ArrayHelper::map( $result , 'id' , 'name' );
}

2) 在controller中添加以下action 。

?
1
2
3
4
5
6
7
8
9
public function actions()
{
   $actions =parent::actions();
   $actions [ 'get-region' ]=[
     'class' =>\chenkby\region\RegionAction::className(),
     'model' =>\app\models\Region::className()
   ];
   return $actions ;
}

3) 在common/config里的main.php中添加 urlManager的enablePrettyUrl的,即隐藏index.php 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"urlManager" => [ 
   //用于表明urlManager是否启用URL美化功能,在Yii1.1中称为path格式URL, 
   // Yii2.0中改称美化。 
   // 默认不启用。但实际使用中,特别是产品环境,一般都会启用。 
   "enablePrettyUrl" => true, 
   // 是否启用严格解析,如启用严格解析,要求当前请求应至少匹配1个路由规则, 
   // 否则认为是无效路由。 
   // 这个选项仅在 enablePrettyUrl 启用后才有效。 
   "enableStrictParsing" => false, 
   // 是否在URL中显示入口脚本。是对美化功能的进一步补充。 
   "showScriptName" => false, 
   // 指定续接在URL后面的一个后缀,如 .html 之类的。仅在 enablePrettyUrl 启用时有效。 
   "suffix" => ""
   "rules" => [   
     "<controller:\w+>/<id:\d+>" => "<controller>/view" ,
     "<controller:\w+>/<action:\w+>" => "<controller>/<action>"
   ],
],

4、使用 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?= $form ->field( $model , 'district' )->widget(\chenkby\region\Region::className(),[
   'model' => $model ,
   'url' => \yii\helpers\Url::toRoute([ 'get-region' ]),
   'province' =>[
     'attribute' => 'province' ,
     'items' =>Region::getRegion(),
     'options' =>[ 'class' => 'form-control form-control-inline' , 'prompt' => '选择省份' ]
   ],
   'city' =>[
     'attribute' => 'city' ,
     'items' =>Region::getRegion( $model [ 'province' ]),
     'options' =>[ 'class' => 'form-control form-control-inline' , 'prompt' => '选择城市' ]
   ],
   'district' =>[
     'attribute' => 'district' ,
     'items' =>Region::getRegion( $model [ 'city' ]),
     'options' =>[ 'class' => 'form-control form-control-inline' , 'prompt' => '选择县/区' ]
   ]
]);
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:http://www.yiichina.com/tutorial/1053 。

最后此篇关于Yii2实现中国省市区三级联动实例的文章就讲到这里了,如果你想了解更多关于Yii2实现中国省市区三级联动实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com