Magento2 Добавить атрибут продукта не работает - PullRequest
0 голосов
/ 24 сентября 2018

Я создал файл setup / installdata.php :

    use Magento\Eav\Setup\EavSetup;
    use Magento\Eav\Setup\EavSetupFactory;
    use Magento\Framework\Setup\InstallDataInterface;
    use Magento\Framework\Setup\ModuleContextInterface;
    use Magento\Framework\Setup\ModuleDataSetupInterface;

    class InstallData implements InstallDataInterface
    {
        private $eavSetupFactory;

        public function __construct(EavSetupFactory $eavSetupFactory)
        {
            $this->eavSetupFactory = $eavSetupFactory;
        }

        public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
        {
            $eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
            $eavSetup->addAttribute(
                \Magento\Catalog\Model\Product::ENTITY,
                'name',
                [
                    'type' => 'int',
                    'backend' => '',
                    'frontend' => '',
                    'label' => 'attrlabel',
                    'input' => 'select',
                    'class' => '',
                    'source' => 'a\b\Model\Attribute\Source\m',
                    'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL,
                    'visible' => true,
                    'required' => false,
                    'user_defined' => true,
                    'default' => '',
                    'searchable' => false,
                    'filterable' => false,
                    'comparable' => false,
                    'visible_on_front' => false,
                    'used_in_product_listing' => true,
                    'unique' => false,
                    'apply_to' => '',
                    'attribute_set' => 'Default',
                ]
            );
        }
    }

Затем в etc / module.xml у меня есть:

    <module name="Conlabz_IdentityCheck" setup_version="1.0.0" />

Но я все еще не вижу созданного атрибута.

Я также попробовал следующее:

В корневой папке Magento я запускаю следующие команды:

    php bin/magento module:disable
    php bin/magento module:enable
    php bin/magento setup:upgrade
    php bin/magento cache:flush

Все успешно без ошибок, но, как я уже сказал, это не работает.

Что я делаю не так?

1 Ответ

0 голосов
/ 25 сентября 2018

Проверьте ваше имя файла setup / installData.php .

"D" должно быть заглавным.

Затем найдите таблицу "setup_module" в вашей базе данных magento2 и удалите записьдля «Conlabz_IdentityCheck».

Затем выполните следующую команду:

php bin / magento setup: обновить

php bin / magento setup: static-content: deploy -f

...