# Location_Selector **Repository Path**: ccbox/location_selector ## Basic Information - **Project Name**: Location_Selector - **Description**: 国内地区多级地址联动选择插件:适用于ThinkCMFX 2.2.3的地址联动插件。 目前只实现了省市区三级联动,行政区域划分数据用的是线上下载的,也可以根据需要换成自己的库表。 适用于ThinkCMF 5的版本敬请期待。 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2017-06-07 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #Location_Selector 国内地区多级地址联动选择插件 > 适用于ThinkCMFX 2.2.3的地址联动插件。 > 目前只实现了省市区三级联动,行政区域划分数据用的是线上下载的,也可以根据需要换成自己的库表。 > 适用于ThinkCMF 5的版本敬请期待。 - 插件根目录:/plugins/Location - 插件模板根目录:/plugins/Location/View/ ##安装方法: - 使用前请先导入数据表,并修改成系统对应的前缀。 - 如果数据表名有变动,请修改 /Model/PluginLocationModel.class.php中的 $tableName参数。 ##使用方法: - 在控制器或者模板 hooks 中添加钩子 - 在需要使用的地方调用钩子(注意去掉花括号里面的空格): ``` { :hook('location_selector',array(19,289,3040))} ``` ##参数说明: - 除了在配置中定义select的表单名name属性外,可以在调用钩子的时候定义,更加灵活。 - 参数可以传入的方式有三种: - **方式1:** - 仅仅传入数字,则定义省级默认值,如果该数字超出省级范围,则默认显示ID=1的省份。 - **方式2:** - 传入1维数组,并且全部为数字,如上示范格式,则为三个选择框的默认地址id,区域从大到小,如果下级单位ID不对应,则显示下级单位中的第一个为默认值。 - **方式3:** - 传入格式: ``` [['attr'=>['select_name'=>'custom_name']],['data'=>[19,289,3040]]] ``` - 则表示第一个为config中的字段的属性,除了select_name之外,还可以定义其他的一些参数,具体可以看config文件。 - 第二个参数则为传入的默认值,格式跟方式2一样。 - 除此之外,还可以用这个格式,['attr'=>['select_name'=>'custom_name']],19,289,3040],请自由发挥。 > 注*:以上的数组定义格式为PHP5.3以上的新特性,旧版本请用原来的array的方法定义。