Magento 2商品属性和属性集怎么管才不乱?EAV、作用域与多店落地
本文目录
- EAV到底是什么?为什么Magento的商品属性这么复杂?
- 属性、属性组和属性集到底是什么关系?
- 新建一个商品属性要配哪些关键项?
- 属性的作用域Global、Website、Store View怎么选才不踩坑?
- 下拉和多选属性的选项值怎么管理才不重复混乱?
- 属性集怎么规划才能适配不同品类的商品?
- 哪些属性开关直接影响前台展示和SEO?
- 属性加多了为什么会拖慢站点?怎么控制?
- 批量维护属性和属性值有哪些靠谱路子?
- 多店和多语言下属性怎么落地?
- 常见问题解答
- 属性代码建错了能改吗?
- 属性集和分类(Category)是一回事吗?
- 为什么我在CSV里导入属性值,前台筛选还是不显示?
- 一个属性可以同时放进好几个属性集吗?
- 普通属性、配置属性(用于可配置商品)有什么区别?
- 权威参考资料
Magento 2的商品属性比别的电商系统复杂,根子在它用了EAV这套数据模型。保哥这篇把属性、属性组、属性集三者的关系讲清楚,再把作用域、下拉选项、前台开关、性能代价这些天天踩坑的地方一个个拆开。看完你就知道:属性不是随手建的字段,而是要规划的资产,建乱了后患无穷。
做Magento的人多半都经历过这么一幕:接手一个跑了几年的老站,打开商品编辑页,密密麻麻几百个字段,一半叫不上名字,一半不知道谁建的、干啥用的。想加个新字段又怕踩到别人的雷,想删几个又不敢动。这种乱,十有八九不是某一天突然变成这样的,而是三年里每个人随手建几个属性、谁都不删、谁都不管,慢慢堆出来的。
属性管理这件事,看着简单,其实是Magento后台里最容易失控、又最影响前台体验和性能的一块。保哥这篇不讲怎么点鼠标(官方文档写得很清楚),重点讲那些点鼠标之前你得先想明白的事:为什么Magento的属性这么绕、作用域选错了会怎样、属性集该按什么逻辑规划、哪些开关一勾就影响SEO和速度。
EAV到底是什么?为什么Magento的商品属性这么复杂?
先把这个底层模型说清楚,后面所有的坑都能从这里找到原因。EAV是Entity-Attribute-Value的缩写,翻译过来就是“实体—属性—值”。普通的数据库设计是一张大宽表:一个商品一行,名称、价格、库存、颜色各占一列。简单直接,但有个硬伤——你想加个新字段,就得改表结构,加一列。商品类型千差万别,电子产品要参数、服装要尺码、食品要保质期,硬塞进一张宽表,要么列多到几百个、大部分商品都是空的,要么频繁改表结构。
Magento的选择是把表拆开。商品的基本骨架(entity)放一张表,每个属性的定义放一张表,而属性的具体值,按数据类型分散存到好几张值表里——文本值进一张表、整数值进一张表、小数值进一张表、日期进一张表。一个商品有50个属性有值,就在这些值表里散落着50行记录,每行记着“哪个商品、哪个属性、值是多少”。
打个更具体的比方:宽表像一张填好的体检表,一个人一行,所有指标横着排开,看一个人的全部指标一眼扫到底。EAV像把每项指标单独写在便签上散放,要看某人的完整体检结果,得把贴着他名字的便签一张张找出来再摆齐。便签法的好处是想加新指标随时贴一张、不用重印整张表;坏处是每次看全貌都要做一遍收集整理。Magento选了便签法,于是“收集整理”这件事就成了它性能上绕不开的功课。
这么设计的好处是灵活到极致:加属性不用改表结构,只是多几行数据;不同商品可以有完全不同的属性集合,空属性根本不占地方。代价也很直接——查一个商品的完整信息,数据库得把散在各张表里的值一行行拼回来,关联查询的复杂度远高于一张宽表。这就是为什么Magento的商品列表、筛选、搜索,性能调优永远是个话题(这块保哥在Magento 2性能调优那篇里专门拆过索引器和缓存)。
你不需要会写EAV的SQL,但记住这个模型的脾气:属性越多,拼装成本越高;灵活是用查询复杂度换来的。理解了这一层,下面“别滥建属性”“注意作用域”这些建议,你就不会当成教条,而是知道它们背后是有代价在的。
属性、属性组和属性集到底是什么关系?
这三个词新手最容易搞混,其实是三个层级,从小到大套娃。保哥用一个生活里的比方:属性是“一道菜”,属性组是“菜单上的一个分类(凉菜、热菜、汤)”,属性集是“一整本菜单”。
属性(Attribute)是最小单元,就是商品的一个字段——颜色、尺码、材质、品牌、保质期,每一个都是一个属性。它是全局定义的,建一次,全站可用。一个叫“颜色”的属性,可以同时出现在好几类商品上,不用重复建。
属性组(Group)是属性在编辑页里的分组。你打开商品编辑页,会看到信息被分成几个折叠的版块——“常规”“搜索引擎优化”“图片”“可配置选项”,这些就是属性组。它纯粹是为了后台编辑时把相关字段归拢到一块儿,方便人找,对前台和数据没有任何影响。
属性集(Attribute Set)是给某一类商品准备的属性模板。建新商品的第一步,就是选一个属性集——选了“服装”集,编辑页就出现尺码、颜色、面料这些字段;选了“电子产品”集,出现的就是屏幕尺寸、内存、接口类型。属性集决定了这一类商品有哪些字段可填。系统装好自带一个Default集,里面是名称、价格、描述这些所有商品都得有的基础属性。
三者的关系理顺就是:你建好一堆属性(菜),把它们分到不同属性组里(菜单分类),再把若干属性组打包成一个属性集(一本菜单)给某类商品用。同一个属性可以被放进多个属性集——“颜色”既在服装集里、也在鞋包集里,这很正常。
这里顺带破一个新手常有的误会:属性组不是数据上的分类,它只影响后台编辑页里字段的排布。你把“颜色”从“常规”组挪到“附加信息”组,前台的展示、筛选、搜索一点不变,变的只是录入的人在哪个折叠版块里找到它。所以属性组怎么分,看的是录入体验顺不顺手,按编辑时的思维习惯归拢就行,别在这上面纠结什么对错标准。
新建一个商品属性要配哪些关键项?
在后台 Stores > Attributes > Product 里建属性,表单项不少,但真正决定这个属性脾气的,就那么几个,新手最容易随手带过、后面又最麻烦改的,保哥挑出来说。
属性代码(Attribute Code)是这个属性的机器名,全小写、用下划线,比如 color、screen_size。它是给程序、导入导出、模板用的标识,一旦建好就不能改了——想改只能删了重建。所以起名一定上心:用语义清楚的英文,别用拼音、别用临时占位的 attr1。代码起烂了,三年后做CSV导入的人会在心里问候你。
输入类型(Catalog Input Type)决定这个字段长什么样、存什么数据。常见的有:文本框(Text Field)存短文本、文本域(Text Area)存长描述、下拉(Dropdown)单选一个选项、多选(Multiple Select)选多个、是否(Yes/No)布尔开关、日期(Date)、价格(Price)、还有图片(Media Image)。这个选错了影响很大——比如本该用下拉的“品牌”你用了文本框,结果同一个品牌被录成“Nike”“nike”“NIKE”三种写法,前台筛选直接稀碎。
作用域(Scope)有Global、Website、Store View三档,决定这个属性的值能不能在不同站点、不同语言下各不相同。这个太重要,保哥下一节单独讲。
剩下还有几个常用项:必填(Required)勾上后这个字段不填就存不了商品;默认值(Default Value)新建商品时自动带上的值;唯一值(Unique Value)要求这个属性在所有商品里不重复,像某些自定义编号会用到。建之前把这几项想清楚,比建完再回头改省事得多。
这里多说一句默认值的用法,它能帮你省不少录入功夫。比如你的商品九成都是“现货”,就把库存状态属性的默认值设成现货,建新品时不用每次手动选,只有少数预售品才改。但默认值也是把双刃剑——设了之后如果运营忘了核对,那些本该改的商品会默默带着默认值发出去,所以默认值适合用在大多数情况都对的字段上,不确定的宁可留空、强制人去填。
属性的作用域Global、Website、Store View怎么选才不踩坑?
作用域是属性配置里最容易埋雷的一项,尤其是做多语言、多站点的外贸站。它管的是一件事:同一个商品的这个属性值,在不同的网站、不同的店铺视图下,能不能填不一样的。三档从粗到细:
- Global(全局):全站只有一个值,所有网站所有语言共用。改一处,处处都变。像SKU、商品类型、价格里的成本这类天然只该有一个值的,必须Global。
- Website(网站级):每个网站可以有自己的值。最典型的是价格——你有美国站和欧洲站,同一件商品两边定价不同、币种不同,价格属性就该是Website作用域。
- Store View(店铺视图级):每个店铺视图(通常对应一种语言)可以有自己的值。名称、描述、meta信息这些要翻译成不同语言的文本,几乎都该是Store View。
选错的后果有两种。一种是该细的选粗了:你把“商品名称”设成Global,结果中文站和英文站只能共用一个名字,没法分别填中英文,翻译彻底没法做。另一种是该粗的选细了:把某个本该统一的标识设成Store View,结果每个语言下各填各的,数据对不上,排查起来要命。
保哥见过一个真实事故:一个站早期把商品的简短描述设成了Global作用域,当时只有英文站、没在意。后来上中文站,运营在中文视图下改描述,改完发现英文站的描述也跟着变了——因为值是全局共享的,根本没有按语言分层的能力。这时候再想改作用域,已经填了几百个商品的英文描述,改的过程里得格外小心别把已有值弄丢。一个建站时随手选的作用域,埋了两年的雷。
更要命的是,作用域不是建完随便改的。把一个已经填了多语言值的属性从Store View改成Global,系统会把多个值收敛成一个,其余语言的值可能就丢了。所以保哥的建议是:建属性时就把作用域定准,多语言文本类一律Store View,多站点定价类用Website,全局唯一标识用Global,定了之后别轻易动。真要改,先在测试环境验证数据会怎样,别在生产库上赌。这套作用域逻辑,跟Magento 2多店架构是一体两面,理解了站组三层结构,作用域就顺了。
下拉和多选属性的选项值怎么管理才不重复混乱?
下拉(Dropdown)和多选(Multiple Select)这两类属性,比文本属性多一层要管的东西——选项值。你建“颜色”属性时,得把红、黄、蓝这些可选项一个个录进去。这层管理松了,乱得特别快。
每个选项有两种标签:管理员标签(Admin)是后台和数据层用的、不随语言变的“真名”;店铺视图标签(Store View)是前台展示给顾客看的、可以按语言翻译的“显示名”。比如一个颜色选项,管理员标签写 Red,中文店铺视图标签写“红色”,英文店铺视图标签写“Red”。做CSV导入导出时,认的是管理员标签,所以这个值一旦定了别乱改。
选项管理最常见的坑是语义重复。同一个意思建了好几个选项——“红”“红色”“大红”“Red”,看着都对,前台筛选时却被拆成四个独立的筛选项,顾客点“红”只能看到一部分商品。这种坑往往是多人协作、或者CSV导入时拼写不一致造成的:导入时如果某个选项值在系统里不存在,Magento默认会自动帮你新建一个,于是一个拼写错误就多出一个垃圾选项。
有个场景特别典型:团队三个人分头录商品,A把品牌录成全大写,B录成首字母大写,C直接从供应商表格复制带了个空格。系统里于是冒出“NIKE”“Nike”“Nike ”三个看着一样的选项,前台筛选栏里就并排列着三个Nike,顾客点哪个都只看到三分之一的鞋。这种问题在数据里很隐蔽,得把同一属性的所有选项导出来肉眼比对才揪得出。所以与其事后捉虫,不如事前定词表、录入做下拉约束,从源头掐掉。
保哥的几条经验:选项值先定一份标准词表,团队按表录,别各写各的;导入前先核对CSV里的选项值跟系统里已有的能对上;定期清一遍语义重复的废选项(合并前要把引用它的商品改过去)。选项的排序也别忽略,前台筛选和下拉的展示顺序就按这个来,尺码该按S、M、L排,别按建的先后乱序。
属性集怎么规划才能适配不同品类的商品?
属性集是属性管理里最该“先规划后动手”的一环。规划得好,前台清爽、录入高效、维护省心;规划得烂,要么一个万能大集塞满所有字段、每类商品都有一堆用不上的空字段,要么集太多太碎、几乎一个商品一个集,乱成一锅粥。
规划的核心思路是按品类的属性差异分集。判断标准很简单:两类商品如果该填的字段大体一致,就用一个集;差异大到一半字段都不一样,就分开。一个卖服装的站,可能就需要“上装”“下装”“鞋”“配饰”几个集;一个3C站,可能要“手机”“电脑”“相机”“配件”。集的粒度跟着品类的属性结构走,不是越多越好,也不是越少越好。
举个外贸服装站的例子:保哥会先把所有商品要填的字段铺开看一遍,发现上装和下装其实共用了八成字段,像颜色、面料、版型、洗涤说明,只有领型、袖长这类是上装独有,裤长、腰围是下装独有。
这种情况下,与其分成上装、下装两个集,不如做一个服装通用集装共有字段,差异字段要么都放进去(反正空着不填也不碍事)、要么真到了维护成本受不了再拆。判断分不分集,本质是在录入时面对的空字段和维护的集数量之间找平衡,没有标准答案,但一定要有人统筹,别让它自然生长。
建新集有个省力的法子:基于已有的集复制。后台建属性集时可以选“Based On”一个现成的集,新集会继承它的所有属性组和属性,你在这个基础上加减就行,不用从Default一个个拖。建集的界面是个三栏拖拽:左边是新集的属性组结构,中间是当前组里的属性,右边是“未分配”的属性池——把右边的属性拖进左边的组里就是加,把组里的属性拖回右边就是移除。
这里有个细节要拎清:从属性集里移除一个属性,是说这类商品的编辑页不再显示这个字段,不是把属性本身删了——属性还在系统里,别的集还能用。真正删属性是在属性列表里删,那是不可逆的、会清掉所有商品上这个属性的值,慎之又慎。还有一点:给一个已经有大量商品的集换结构、或者把商品从一个集换到另一个集,被移除的那些属性上的值会怎样,上线前一定在测试环境验证,别想当然。
哪些属性开关直接影响前台展示和SEO?
建属性的表单里,有一组“高级属性属性”和“店铺视图选项”的开关,平时容易当背景板划过去,但它们直接决定这个属性在前台怎么用、对搜索和筛选有什么影响。保哥把影响最大的几个点出来:
- 用于分层导航(Use in Layered Navigation):决定这个属性能不能成为前台左侧的筛选条件。开了“颜色”,顾客就能按颜色筛商品。只有下拉、多选、价格这类有限选项的属性能用。这个跟SEO关系很大——筛选会生成大量URL参数页,处理不好就是重复内容和抓取预算黑洞,保哥在分层导航SEO那篇里专门讲了参数白名单的治理。
- 用于搜索(Use in Search):开了,这个属性的值才会进站内搜索的索引,顾客搜关键词时才能命中。该搜的属性(品牌、型号)记得开,不该进搜索的(内部备注)别开,免得污染搜索结果。
- 可比较(Comparable):决定属性出不出现在商品对比表里。
- 用于商品列表(Used in Product Listing):决定属性值在分类列表页能不能直接调用展示。
- 用于排序(Used for Sorting):决定能不能按这个属性给列表排序。
还有个容易被忽略的项叫搜索权重(Search Weight),它管的是开了“用于搜索”的属性在站内搜索里占多大分量。权重从1到10,给商品名称、型号这种强信号属性高权重,给描述这种弱信号低权重,顾客搜出来的结果排序才合理。很多站搜索结果不准,不是没建索引,而是权重一刀切、所有属性同权,导致一段描述里偶然出现的词,排得比标题精确匹配还靠前。
这些开关不是开得越多越好。每多开一个“用于搜索”“用于分层导航”,就给索引和查询多压一份担子。原则是:前台真要用的才开,纯内部、纯记录的属性,这些开关一律关。开关配置该跟着前台的实际功能走,而不是建属性时手一抖全勾上。
属性加多了为什么会拖慢站点?怎么控制?
回到开头那个EAV的脾气:属性越多,数据拼装和索引的成本越高。这不是吓唬人,属性失控是Magento站慢下来的常见原因之一。原因有几层:
第一,EAV的值是散在多张表里的,商品的属性越多,组装一个完整商品对象要关联的行就越多。第二,开了“用于分层导航”“用于商品列表”的属性,会被纳入相应的索引,属性多、索引重,重建索引的时间和资源都往上走。第三,属性集里塞了一堆没人填的空字段,虽然空值不占值表,但编辑页加载、各种遍历依然要把它们过一遍。
控制的办法说穿了就一句:把属性当资产管,别当草稿纸。具体几条——建之前先问这个属性是不是真有人用、能不能复用现成的;前台不展示、不筛选、不搜索的属性,那些性能相关的开关全关;定期审计,把没有任何商品填值、也没有任何地方引用的废属性清掉(清之前确认真没用)。早年Magento有个“扁平目录(Flat Catalog)”的优化是用宽表换性能的,但在2.4之后已经被弃用、不推荐了,别再指望靠它救场,正路还是控制属性数量加上正经的索引、缓存调优。
保哥见过一个站,商品就两千多个,属性却堆了四百多个,其中一大半是历年各种活动、各种一次性需求随手建的,建完就没人管。后来做了一轮审计,砍掉两百多个废属性,光是后台编辑页的加载和索引重建就明显轻快了。属性这东西,加的时候爽,攒多了就是债。
批量维护属性和属性值有哪些靠谱路子?
商品一多,靠手工一个个改属性值就不现实了。Magento给了几条批量的路子,各有各的适用场景。
CSV导入导出是最主力的批量手段。属性代码就是CSV文件里的列名,一列对应一个属性,整批商品的属性值就在这张表里改。要批量改某个属性的值,导出、在表格里改、再导回去就行。这里有个前提常被忽略:CSV里要用到的属性必须先在系统里建好,导入时它认的是属性代码和(下拉类的)管理员标签,对不上就出错或者自动建垃圾选项。CSV导入导出的完整门道,保哥在产品批量导入导出那篇里拆得很细,包括导入行为、字段映射这些坑。
批量操作(Mass Action)适合改动简单、范围明确的场景。在商品列表里勾选一批商品,用“Update Attributes”批量动作,可以一次性给这批商品的某个属性统一设值——比如把某个分类下所有商品的“制造商”统一改掉。它比CSV轻便,但能改的属性类型有限,复杂的还得走CSV。
批量导入最常翻车的不是技术,是数据本身。保哥的习惯是大批量导之前,先抽十几条出来跑一遍:看属性代码对不对得上列名、看下拉值有没有被自动建成新选项、看必填项有没有漏。这一步十分钟,能拦掉九成的批量事故。直接全量导一千条、错了再回滚,省下的那十分钟会用一下午的排查加倍还回来。
计划任务导入适合跟ERP、PIM这类外部系统对接的场景,配好映射让系统定时拉数据进来,适合有持续同步需求的站,搭起来成本高,量不大用不着。
不管走哪条路,批量改属性前都务必先备份、先小批量试。属性值是商品的核心数据,一次导错、一个映射填反,影响的是成百上千个商品,回滚的代价远比多花十分钟做备份大。
多店和多语言下属性怎么落地?
外贸站、出海站基本都是多语言甚至多站点,属性在这种结构下怎么落地,前面作用域那节是地基,这里把落地的几个实操点补齐。
属性值按作用域分层存:Global的值全局一份;Website的值各网站一份;Store View的值各店铺视图(语言)一份。在后台编辑商品时,页面左上角有个“店铺视图切换器”,你切到哪个视图,改的就是那个视图作用域下的值。这里最常见的事故是:人没注意自己当前在“所有店铺视图(Default)”这个全局层,改了个本该只改某语言的值,结果把全局默认改了、波及所有语言。所以改多语言内容前,先确认切换器停在对的视图上,这个习惯能省掉大量莫名其妙的“怎么别的语言也变了”。
下拉选项的多语言也是这套逻辑:选项的管理员标签是底层不变的,每个店铺视图标签按语言翻译。前台顾客看到的是他所在语言的店铺视图标签,数据层认的始终是管理员标签。所以加一个新选项,记得把各语言的店铺视图标签都补上,别只填了英文,中文站前台就显示成英文了。
还有个继承逻辑要知道:店铺视图层如果没单独填值,会回退用上一层(网站或全局默认)的值。这既是方便——共通的内容只在默认层填一次,各语言自动继承;也是个坑——你以为某语言下改了,其实没生效,是因为那个值还停在默认层没被覆盖。多语言站点上线前,逐语言、逐店铺视图把关键属性过一遍,确认该翻的都翻了、该独立的都独立了,是省不掉的功课。
这个继承机制在实操里还有个高频困惑:明明在某个语言视图下看这个字段是有值的,怎么前台还显示成默认语言?多半是你看到的那个值其实是从默认层继承显示的、并没有在当前视图真正录入。判断办法是看字段旁边有没有“使用默认值”的勾选框——勾着就是在继承,取消勾选才能填这个视图独有的值。翻译时一个个把该独立的字段取消继承、填上译文,是细活但省不掉。
常见问题解答
属性代码建错了能改吗?
不能直接改,属性代码一旦保存就锁死了,后台没有修改入口。唯一的办法是把这个属性删掉重建一个代码正确的,但删属性是不可逆的,会清掉所有商品上这个属性已经填的值。所以如果这个属性已经录了很多商品数据,删了重建的代价很大——你得先把数据导出来、删属性、用新代码建好、再把数据导回去,全程务必备份。结论就是:建属性时把代码起对,用清晰的英文小写加下划线,别图省事用拼音或临时名,这是少数“一步错、步步难”的地方。
属性集和分类(Category)是一回事吗?
完全是两回事,新手很容易混。属性集是“这类商品有哪些字段可填”的模板,管的是数据结构;分类是商品在店铺里的归类和导航,管的是商品怎么被找到、出现在哪个栏目下。一个商品建的时候选一个属性集(决定它有什么字段),同时可以被放进多个分类(决定它在前台哪些栏目里露出)。举例:一件红色T恤,属性集是“服装”(所以有尺码、颜色字段),分类可以同时挂在“男装”“T恤”“夏季新品”几个栏目下。两者各管各的,别拿属性集当分类用。
为什么我在CSV里导入属性值,前台筛选还是不显示?
常见几个原因排查一遍:一是这个属性的“用于分层导航”开关没开,没开就不会出现在前台筛选里;二是属性值虽然导进去了,但相关的索引还没重建,Magento很多前台展示依赖索引,导完数据要重建索引才生效;三是缓存没刷,索引好了缓存还是旧的也看不到变化;四是下拉选项的值在导入时拼写跟系统里对不上,被当成新选项建了,于是商品挂在了一个你没注意的新选项下。按这个顺序——开关、索引、缓存、选项值——查下来基本能定位。
一个属性可以同时放进好几个属性集吗?
可以,而且这正是推荐的做法。属性是全局定义的,建一次,哪个属性集需要就拖进哪个。像“品牌”“颜色”这种通用属性,往往会出现在好几个属性集里,完全不用为每个集重复建同名属性——那样反而制造了重复,导入导出和筛选都会出乱子。正确姿势是:通用属性建一个,按需分配到多个集;只有某个集特有的、别处用不到的属性,才专门为它建。这样属性总数最小、复用最大,维护起来也清爽。
普通属性、配置属性(用于可配置商品)有什么区别?
从属性本身看没有“配置属性”这个独立类型,区别在用法。可配置商品(Configurable Product,比如一件有多种尺码颜色的衣服)需要靠某些属性来生成它的变体——尺码、颜色这类。能用来做可配置变体的属性,必须满足几个条件:输入类型是下拉、作用域是Global、而且“用于创建可配置商品”这个选项是开的。所以你建尺码、颜色这种打算用来区分变体的属性时,要特意把作用域设成Global、输入类型设成下拉。普通属性(材质、产地这种只是描述、不区分变体的)就没这些硬性要求。建之前想清楚这个属性是用来描述还是用来分变体,配置就不会错。
权威参考资料
FAQPage + Article AI 引用友好版
商品属性建乱了后患无穷。保哥从EAV模型说起,理清属性、属性组、属性集的层级,再把作用域怎么选、下拉选项怎么管、哪些开关影响SEO和速度逐一拆开,帮你把字段当资产来规划。
- 电商运营
- Magento
- 属性管理
- EAV
- Magento教程
title: Magento 2商品属性和属性集怎么管才不乱?EAV、作用域与多店落地 author: 张文保 (Paul Zhang) — PatPat SEO 经理 url: https://zhangwenbao.com/magento-2-eav-product-attributes-attribute-sets-scope-management.html published: 2026-01-19 modified: 2026-01-19 source-type: First-hand expert commentary language: zh-CN license: CC BY-NC-SA 4.0 (要求保留原文链接与作者归属)
本文标题:《Magento 2商品属性和属性集怎么管才不乱?EAV、作用域与多店落地》
本文链接:https://zhangwenbao.com/magento-2-eav-product-attributes-attribute-sets-scope-management.html
版权声明:本文原创,转载请注明出处和链接。许可协议: CC BY-NC-SA 4.0