最新消息:爱T-blog 最新域名 blog.itiwin.cn !!! php技术博客 magento博客

magento 城市三级联动 添加中国省市区

magento 城市三级联动 针对国内市场

城市三级联动

城市三级联动

一:首先配置我们的models

<models>
<veric_directoryex>
<class>veric_Directoryex_Model</class>
<resourceModel>veric_directoryex_resource</resourceModel>
</veric_directoryex>
<veric_directoryex_resource>
<class>veric_Directoryex_Model_Resource</class>
<deprecatedNode>directoryex_mysql4</deprecatedNode>
<entities>
<country_city>
<table>directory_country_city</table>
</country_city>
<country_city_name>
<table>directory_country_city_name</table>
</country_city_name>
<country_district>
<table>directory_country_district</table>
</country_district>
<country_district_name>
<table>directory_country_district_name</table>
</country_district_name>
</entities>
</veric_directoryex_resource>
</models>

这里就调用我们建立的 4 张表directory_country_city   directory_country_district

directory_country_city_name  directory_country_district_name 用于关联市区表

CREATE TABLE IF NOT EXISTS {$this -> getTable ('directory_country_city')} ( `city_id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'city Id', `region_id` INT (10) NOT NULL DEFAULT '0' COMMENT 'Region Id in ISO-2', `default_name` VARCHAR (255) DEFAULT NULL COMMENT 'city Name', PRIMARY KEY (`city_id`), KEY `IDX_DIRECTORY_COUNTRY_CITY_REGION_ID` (`region_id`)) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COMMENT = 'Directory Country City';

	CREATE TABLE IF NOT EXISTS {$this->getTable('directory_country_city_name')} (
  `locale` varchar(8) NOT NULL COMMENT 'Locale',
  `city_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'City Id',
  `name` varchar(255) NOT NULL COMMENT 'City Name',
  PRIMARY KEY (`locale`,`city_id`),
  KEY `IDX_DIRECTORY_COUNTRY_CITY_NAME_CITY_ID` (`city_id`),
  CONSTRAINT `` FOREIGN KEY (`city_id`) REFERENCES {$this->getTable('directory_country_city')} (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Directory Country City Name';  

DROP TABLE IF EXISTS {$this->getTable('directory_country_district')};

	CREATE TABLE IF NOT EXISTS {$this->getTable('directory_country_district')} ( `district_id` INT (10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'district Id', `city_id` INT (10) NOT NULL DEFAULT '0' COMMENT 'City Id in ISO-2', `default_name` VARCHAR (255) DEFAULT NULL COMMENT 'district Name', PRIMARY KEY (`district_id`), KEY `IDX_DIRECTORY_COUNTRY_DISTRICT_CITY_ID` (`city_id`)) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COMMENT = 'Directory Country district'; 

DROP TABLE IF EXISTS {$this->getTable('directory_country_district_name')};

	CREATE TABLE IF NOT EXISTS {$this->getTable('directory_country_district_name')} (
  `locale` varchar(8) NOT NULL COMMENT 'Locale',
  `district_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'district Id',
  `name` varchar(255) NOT NULL COMMENT 'district Name',
  PRIMARY KEY (`locale`,`district_id`),
  KEY `IDX_DIRECTORY_COUNTRY_DISTRICT_NAME_DISTRICT_ID` (`district_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Directory Country district Name';

这样前台可显示三级联动,后台可以添加省市区的管理,如下这篇文章:

magento 省市区后台管理

address magento

转载请注明:爱T-blog » magento 城市三级联动 添加中国省市区

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项

网友评论10条  本站回复3

  1. 您好,刚刚接触MAGENTO,正在为省市区三级联动发愁,能分享一份完整代码研究学习吗?

    空旋2016-03-31 18:11 回复
  2. 您好,能提供完整代码学习吗?谢谢

    空旋2016-03-31 18:07 回复
  3. 能提供完整的代码供研究学习吗?

    leo2016-03-21 14:13 回复
  4. 有完整的代码提供吗,研究研究,3q

    小研2016-03-21 10:44 回复
  5. 能发一份完整的代码给我,研究研究么?

    小研2016-03-21 10:36 回复
  6. 你好啊,我也是刚刚接触MAGENTO,正在为三级城市发愁,能把全套的代码发给我看一下吗,billing.phtml还需不需要做改动?

    ycyxyd2016-01-31 06:47 回复
    • magento1版本的吗

      More2016-01-31 19:37 回复
  7. 初次接触magento 能否给一份完整代码我研究研究

    酒暖回忆哦2015-11-06 15:17 回复
    • 可以 等我发到百度网盘

      More2015-11-07 13:11 回复
      • 可以下载吗

        love2016-09-21 16:28 回复
  8. 初学php,学多少年才能像你这样搞开发啊..大神!

    豆豆2015-01-12 11:08 回复
    • 学好php基础即可

      More2015-01-14 11:22 回复
      • 你好,我看到你写的很好,但是我有几个地方不明白,所以请求加你的qq

        露珠2015-01-18 16:45 回复