Magento 重复属性设置新属性未显示在前端

Magento duplicate attriubte set new attributes not showing in front end

  1. 新产品线的重复属性集。
  2. 设置的属性在后端和前端显示。
  3. 创建了新属性并添加到属性集中。
  4. 新属性显示在后端而不是前端。
  5. 如果我将新属性添加到重复的原始集合中,新属性现在将显示在与重复属性组关联的产品的前端。

所以基本上,添加到重复集的新属性在添加到被复制的属性集之前不会显示在前端。

我已经检查以确保该属性在前端等处可见,并多次尝试检查设置。

目标是能够复制属性集并为不同的产品类型添加新属性。然后通过id调用文件夹并显示关联的属性。

我已按 ID(规格)调用属性组。此代码正在运行。

<?php   
require_once 'app/Mage.php';
Mage::app();

$attributeGroupCollection = Mage::getResourceModel('eav/entity_attribute_group_collection');
$product = $this->getProduct();

foreach ($attributeGroupCollection as $attributeGroup) {
    $attributeGroup->getAttributeGroupId();       
$attributeSpecs = Mage::getResourceModel('eav/entity_attribute_collection')
    ->setAttributeGroupFilter(41);    

} 
?>

感谢帮助,谢谢

复制一个属性集就是一次复制(点击按钮的那一刻)。如果你想在两个属性集中添加一个属性,你需要在两个属性集中创建它,为此,你只需要创建你的属性并将它放到你想要链接到的部分(你称之为 "folder").如果你想以编程方式进行。您需要创建一个观察者,该观察者将在保存属性集后被触发,并将该属性添加到复制的属性集中。我不建议这样做,因为这意味着您需要输入重复的属性集 ID,这在将开发推向生产时可能会很棘手。我相信有一个解决方法可以实现您想要实现的目标。

问题是 magento 为新的重复属性集中的每个新组文件夹创建了一个新 ID(有意义)。我是通过组的 ID 调用的,结果只会显示原始文件夹中的属性(很奇怪),即使产品与新属性集相关联也是如此。我所做的是获取当前属性集 ID,然后按名称对属性组进行排序,因此即使复制了属性集,只要文件夹具有名称,它就会显示在显示属性的自定义循环中。这是我的工作代码:

    $attributeSetModel = Mage::getModel("eav/entity_attribute_set");
    $attributeSetModel->load($product->getAttributeSetId());
    $attributeSetName  = $attributeSetModel->getAttributeSetName();
    $attributeSetID  = $attributeSetModel->getAttributeSetID();

$groups = Mage::getModel('eav/entity_attribute_group')
->getResourceCollection()
->setAttributeSetFilter($attributeSetID)
->setSortOrder()
->load();

$attributeCodes = array();
foreach ($groups as $group) {
echo $groupName          = $group->getAttributeGroupName();
$groupId            = $group->getAttributeGroupId();

if (strpos($groupName , 'Specifications') !== false) {
    echo 'true';
    $specificationsNum = $groupId;
};
if (strpos($groupName , 'eatures') !== false) {
    echo 'true';
    $prodfeaturesNum = $groupId;
};
}
//echo $specifications;
$specifications = Mage::getResourceModel('eav/entity_attribute_collection')
->setAttributeGroupFilter($specificationsNum); 
$prodfeatures = Mage::getResourceModel('eav/entity_attribute_collection')
->setAttributeGroupFilter($prodfeatures);