6
votes

Modifier le jeu d'attributs du produit Magento.

Je veux changer l'ensemble d'attributs de Magento. J'ai cherché à travers et tout le monde a suggéré de supprimer le produit et de le ré-importer avec un nouvel ensemble d'attributs.

J'ai fait la même chose toutefois après avoir importé les données que je ne pouvais pas voir des critiques de produits et un article de blog associé avec le produit.

Quelqu'un peut-il me dire qu'il est possible d'obtenir des critiques de produits et un article de blog associé après avoir réimporté le produit avec un nouvel ensemble d'attributs.


0 commentaires

6 Réponses :


1
votes

Une fois que vous avez supprimé le produit, vous ne pouvez pas obtenir l'ancien examen.

Vous n'avez pas besoin de supprimer le produit. Vous pouvez modifier l'attribut défini en modifiant et à utiliser. Autres sages crée un nouvel ensemble d'attributs et créez un nouveau produit.


0 commentaires

12
votes

Une fois défini, vous ne pouvez pas modifier l'ensemble d'attributs d'un produit. Mais il est possible d'utiliser ce module afin que vous n'ayez pas à réimporter vos données. https://marketplace.magento.com/flagit-magento-changeattributeet.html


1 commentaires

omg magento, sérieusement. combien de décennies avez-vous été autour, et vous faites toujours des choses comme ça si encombrant



0
votes

J'utilise Cette extension pour changer d'attribut.

J'avais l'habitude d'avoir l'extension que vous avez recommandée ci-dessus, et c'est cool. Mais l'ancien a plus de fonctions.


0 commentaires

2
votes

Il est fidèle à faire et un peu désordonné:

  • Assurez-vous que le nouveau jeu d'attributs est configuré
  • Exportez les produits que vous souhaitez modifier
  • Supprimez les produits que vous modifiez sur le site
  • Modifiez l'attribut défini sur le fichier téléchargé
  • Importer un fichier modifié à nouveau
  • Ouvrez chaque produit modifié, définissez leurs valeurs d'attribut, enregistrez-la

    ou faire ce que je fais, installez cette excellente extension à partir d'Amasty http://amasty.com/ Mass-produit-actes.html - Cela facilite la modification d'une brise et donne de nombreuses options d'économie de temps et d'amélioration de temps.


0 commentaires

5
votes

Il est également possible de modifier l'attribut défini directement dans la base de données.

  • Recherchez l'identifiant de l'attribut dans le tableau EAV_ATTRIBUTE_SET
  • Modifiez l'ID de jeu d'attributs dans catalog_product_entity

    Bien sûr, soyez prudent lorsque vous changez de données de cette façon.


3 commentaires

Quel est le flux sur les effets de cela? L'ID doit-il être modifié dans les tables d'attributs EAV E.G. Varcharne qui référence aussi?


Mise à jour catalog_product_entity SET attribut_set_id = '9' Où catalog_product_entity . Entity_id = 15,14; Quelle est l'erreur dans ce code, pour une identité unique, son fonctionnement, lorsque j'ajoute plus d'une solution n'est pas mise à jour.


ne devrait pas remplacer par (15,14)



0
votes

Oui. Nous pouvons changer d'attribut produit défini par programme. Je préfère créer une massaction dans le catalogue de la grille de produit sur le produit multisélecte, puis sélectionnez Massaction pour les produits.

Création de massaction dans Grid.PHP P>

public function changeattributesetAction()
{
    $productIds = $this->getRequest()->getParam('product');
    $storeId = (int)$this->getRequest()->getParam('store', 0);
    if (!is_array($productIds)) {
        $this->_getSession()->addError($this->__('Please select product(s)'));
    } else {
        try {
            foreach ($productIds as $productId) {
                $product = Mage::getSingleton('catalog/product')
                        ->unsetData()
                        ->setStoreId($storeId)
                        ->load($productId)
                        ->setAttributeSetId($this->getRequest()->getParam('attribute_set'))
                        ->setIsMassupdate(true)
                        ->save();
            }
            Mage::dispatchEvent('catalog_product_massupdate_after', array('products'=>$productIds));
            $this->_getSession()->addSuccess(
                    $this->__('Total of %d record(s) were successfully updated', count($productIds))
                );
            }
            catch (Exception $e) {
                $this->_getSession()->addException($e, $e->getMessage());
            }
    }
    $this->_redirect('adminhtml/catalog_product/index/', array());
}


0 commentaires