Question

Nous créons des produits regroupés en fonction autour des images de moteur et d'une partie des schémas.Ces schémas ont nombre de marqueurs pour chaque pièce de la schématique et nous sommes en mesure de correspondre à la position du produit associé au numéro de marqueur dans le schéma.

Notre problème est que certains schémas ont la même partie dans de multiples positions.Un exemple, la même rondelle peut apparaître en position 1, 15 et 40.Le produit associé uniquement la grille nous permet d'indiquer une position pour que la rondelle.

Des idées sur comment nous pourrions configurer un groupe de produit afin de permettre plusieurs positions d'un produit?J'ai fouiné pendant plusieurs heures maintenant essayer de trouver un moyen d'ajouter un attribut supplémentaire pour un produit associé, mais je ne suis pas de trouver toutes les possibilités.

Était-ce utile?

La solution

Après plusieurs heures de recherche en ligne, j'ai été en mesure de travailler sur une solution basée sur un poste en un autre magento forum.Je vais le réécrire ici dans l'espoir que cela aide quelqu'un d'autre qui trébuche dans.

Pour cette approche, j'ai décidé d'ajouter une colonne personnalisée dans le produit associé grille pour mon regroupés produit.Pour ajouter une nouvelle colonne, j'ai copié le fichier dans:app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Group.php dans mon code local au: app/code/localMage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Group.php

En fonction _prepareColumns()` j'ai ajouté ceci:

    $this->addColumn('diagrampos', array(
      'header'    => Mage::helper('catalog')->__('Other Position'),
      'name'      => 'diagrampos',
      'index'     => 'diagrampos',
      'width'     => '60px',
      'editable'  => true
    ));

Plus bas dans ce fichier, nous avons besoin de changer la getSelectedGroupedProducts() à la ligne 214 de sorte que nos mises à jour dans l'admin va être enregistré correctement.Voici à quoi cela devrait ressembler à maintenant:

    public function getSelectedGroupedProducts()
        {
        $associatedProducts = Mage::registry('current_product')->getTypeInstance(true)
                              ->getAssociatedProducts(Mage::registry('current_product'));
        $products = array();
        foreach ($associatedProducts as $product) {
            $products[$product->getId()] = array(
              'qty'       => $product->getQty(),
              'position'  => $product->getPosition(),
              'diagrampos'  => $product->getDiagrampos()
            );
        }
        return $products;
    }

Ensuite, nous devons mettre à jour la table de base de données pour catalog_product_link_attribute.J'ai ajouté les valeurs suivantes comme une nouvelle ligne à la table.Vous devrez peut-être ajuster la première valeur en fonction de l'augmentation de votre table:

product_link_attribute_id   => 6
link_type_id                => 3
product_link_attribute_code => diagrampos
data_type                   => varchar

Ensuite, nous avons besoin de changer app/design/adminhtml/default/default/layout/catalog.xml de sorte que le sérialiseur ramasse sur notre nouveau domaine.Nous avons besoin de modifier la mise en page sous le nœud <adminhtml_catalog_product_supergroup> par l'ajout d'une nouvelle ligne de sous addColumnInputName de sorte qu'il ressemble:

    <action method="addColumnInputName">
        <input_name>qty</input_name>
        <input_name>position</input_name>
        <input_name>diagrampos</input_name>
    </action>

Je suis maintenant en mesure d'ajouter une liste séparée par des virgules d'entiers dans ce champ d'entrée.Modérée, de l'adaptation à la groupés de modèles de produits, je peux maintenant afficher le même produit associé SKU dans de multiples positions.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top