【问题标题】:Magento: Create custom attribute, set default attribute setMagento:创建自定义属性,设置默认属性集
【发布时间】:2011-12-19 15:25:37
【问题描述】:

只是一个简单但令人头疼的问题。

我创建了一个属性,将其设置为下拉行为(在 Admin-Store 中,被视为下拉属性) 它正在创建安静的平滑,但没有设置attribute_set。

简而言之:

是状态: 我的属性 --> 未链接到属性集

声明: 我的属性 --> 链接到默认属性集

【问题讨论】:

  • 这个问题是关于编程的吗?
  • 是的,我忘了说它应该在 php 下完成(通过 Magento-API)。我通过 php 创建了一个属性,但它没有自动设置为某个属性集,如果有人知道将它“设置”为默认属性集究竟需要什么,那就太好了

标签: php api magento attributes


【解决方案1】:

管理方式:

很自然,新创建的属性不会自动分配给属性集(包括默认属性集)。您需要手动完成。

在管理员中,在目录 > 属性 > 管理属性集下。

source

编程方式:

试试这个代码:

$installer = Mage::getModel('eav/entity_setup');
$installer->addAttributeToSet($entityTypeId, $setId, $groupId, $attributeId, $sortOrder);

函数addAttributeToSet的说明:

  • 混合 $entityTypeId
  • 混合 $setId
  • 混合 $groupId
  • 混合 $attributeId
  • int $sortOrder=null
  • @return Mage_Eav_Model_Entity_Setup

根据代码,以 'Id' 结尾的参数实际上不必是 id。组名和组名可以自动转换为 id。但是对于属性,您应该使用代码(通常以小写字母书写,例如“名字”)而不是名称(例如“名字”)。

例如,您想在“General”组下的“Default”属性集中添加一个名为“popularity”的产品属性,只需这样写:

$installer = Mage::getModel('eav/entity_setup');
$installer->addAttributeToSet('catalog_product', 'Default', 'General', 'popularity');

不幸的是,我暂时没有安装来测试代码,希望它应该可以工作:)

【讨论】:

  • 感谢您的回答,我已经通过后端找到了一些相关信息。我忘了说它应该在 php 下完成(通过 Magento-API)我通过 php 创建了一个属性,但它没有自动设置为某个 attribute_set,如果有人知道“设置”它到底需要什么,那就太好了默认属性集
  • 我接受这个答案,因为它帮助我搜索正确的术语,为我的问题找到帮助。有没有机会以编程方式选择默认的属性集?刚刚获得了attribute_Set id 和DefaultAttributeSet 的名称。只需要告诉 API 我的属性应该在这个集合中。感谢优势
  • 谢谢vicch,马上试试,如果有帮助我会回复的
  • 我还有另一个问题,特别是关于 GroupID:GroupId 是指客户设置的组还是产品?编辑:在这里找到它 --> stackoverflow.com/questions/3090527/…
  • 不,这里的Group是指属性组。一个属性集包含多个属性组,每个属性组包含多个属性。当您单击管理属性集下的属性集时,组将列在中间列中。
猜你喜欢
  • 2018-08-01
  • 1970-01-01
  • 2016-04-21
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 2022-08-23
相关资源
最近更新 更多