2017-10-05 4 views
2

J'ai un problème lors de l'application de magento 2.1.9 à mon projet.L'attribut Magento 2.1.9 ne s'affiche pas dans la navigation.

Mon attribut est ab_size

J'ai créé cet attribut avec coup de code.

$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', 
       ] 
      ); 
     } 

Avec config dans le backend.

  1. Activez le filtre (avec le résultat) fait
  2. Catégorie Anchor fait
  3. Réindexer fait
  4. option Activer Catégorie plat fait
  5. Activer plat Produit fait
  6. Réindexer toutes les données fait
  7. Effacer le cache fait
  8. utilisation propre magento n'a pas l'extension fait
  9. Vérifiez avec l'attribut couleur (fait le montrer dans la navigation)
  10. produit Prix ​​Afficher
  11. Catégorie Afficher

    à propos de mes informations système

  12. CentOS 7.0

  13. LiteSpeed ​​
  14. Php7.0
  15. Magento CE 2.1.9

Je déboguée que le produit seaux de collecte retour videJe pense que ce problème avec la création de code d'attribut a causé le même problème à tout le monde.

Merci à tous ceux qui ont des conseils.

Répondre

2

Avec sélectionnez attribut que nous devons utiliser le type de int ..

0

Je pense que vous avez mélangé vos attributs avec ce code. En le regardant, il supprime tous les attributs et les ajoute mais en tant que type varchar, qui peut ne pas être applicable à tous les attributs. Je suggère de réinitialiser votre base de données Magento, puis ajoutez l'attribut en utilisant le code comme suit.

Comme je ne sais pas ce que vous prévoyez d'utiliser cet attribut, certains des paramètres ci-dessous peuvent ne pas s'appliquer à votre cas d'utilisation.

$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' => '' 
     ] 
    );