3

将 magento 2.1.9 应用到我的项目时遇到问题。

我的属性是ab_size

我用代码创建了该属性。

$categorySetup = $this->categorySetupFactory->create(['setup' => $setup]);
        $entityTypeId = $categorySetup->getEntityTypeId(\Magento\Catalog\Model\Product::ENTITY);

        foreach ($singleAttributeCodes as $key => $label) {
            $categorySetup->removeAttribute($entityTypeId, $key);
            $categorySetup->addAttribute(
                $entityTypeId,
                $key,
                [
                    'type' => 'varchar',
                    'label' => $label,
                    'input' => 'select',
                    'required' => false,
                    'sort_order' => $sortOrder,
                    'visible' => true,
                    'user_defined' => true,
                    'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL,
                    'filterable' => 0,
                    'visible_on_front' => true,
                    'used_in_product_listing' => true,
                    'group' => $group,
                    'apply_to' => 'simple,configurable,bundle,downloadable,grouped',
                ]
            );
        }

在后端使用配置。

  1. 启用过滤器(有结果)完成
  2. 类别已完成锚定
  3. 重新索引完成
  4. 启用类别平面完成
  5. 启用产品平面完成
  6. 重新索引所有数据已完成
  7. 清除缓存完成
  8. 使用 magento clean 没有完成任何扩展
  9. 检查属性颜色(在导航中显示)
  10. 产品价格展示
  11. 分类展示

    关于我的系统信息

  12. CentOS 7.0

  13. 光速
  14. php7.0
  15. Magento CE 2.1.9

我已调试产品收集桶返回空

我认为创建属性代码的问题,有没有人遇到过同样的问题。

谢谢有人有提示。

4

2 回答 2

3

使用select属性,我们必须使用int类型。

于 2017-10-11T18:11:29.703 回答
-1

我认为你已经用这段代码弄乱了你的属性。查看它,它删除了所有属性并添加了它们,但是作为 varchar 类型,这可能不适用于所有属性。我建议重置您的 Magento 数据库,然后使用如下代码添加属性。

由于我不知道您打算如何使用此属性,因此下面的某些设置可能不适用于您的用例。

 $categorySetup->addAttribute(
    \Magento\Catalog\Model\Product::ENTITY,
        'ab_size',
        [
            'type' => 'varchar',
            'backend' => '',
            'frontend' => '',
            'label' => 'AB Size',
            'input' => 'select',
            'class' => '',
            'source' => '',
            'backend' => 'Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend',
            'global' => \Magento\Catalog\Model\ResourceModel\Eav\Attribute::SCOPE_GLOBAL,
            'visible' => true,
            'required' => false,
            'user_defined' => true,
            'default' => 0,
            'searchable' => false,
            'filterable' => true,
            'comparable' => false,
            'visible_on_front' => true,
            'used_in_product_listing' => true,
            'unique' => false,
            'apply_to' => ''
        ]
    );
于 2017-10-11T17:41:11.337 回答