Ein vorhandenes Produkt ändern, um ein Attribut einstellen zu lassen
Mit Magento haben Sie die Fähigkeit des Hinzufügens der einfachen Attributsets wirklich. Das heißt, wenn Sie eine Gruppe des Produktes haben, der alle die gleichen Optionen - Sie jene Optionen nicht mit jedem Produkt wiederholt (und) langwierig erstellen müssen - stattdessen Sie erstellen ein eingestelltes Attribut haben.
Zum Beispiel sagen Sie, dass Sie eine Kategorie auf Ihrer Web site haben, die Computermonitoren verkauft. Sie müssen auch Attribute innerhalb des Produktes herstellen das resoliton, der Bildumfang und die Helligkeit des Monitors. Eher als, eins nach dem anderen einsteigend in jedes Produkt und jene drei Optionen hinzufügend, erstellen Sie bloß ein einzelnes Attributset, genannt „Monitor“ (z.B.). Dann wenn Sie ein Produkt in Magento herstellen, sein einfach stellte ein Fall vom Auswählen des attibute Sie möchten auf das Produkt zutreffen ein, und he ist Presto, Ihr Job erfolgt!
JEDOCH in dem Augenblick als - wenn Sie ein „einfaches Produkt“ herstellen - wie viele Leute normalerweise tun würde, wenn sie mit Magento anfangen, stoßen Sie auf ein Problem. Sobald Sie ausgewählt haben, welcher Typ des Produktes es ist, können Sie zurück gehen und ein Attribut ändern oder hinzufügen, das eingestellt wird nicht dem Produkt - bis jetzt…
Das Kleben des Codes unten in bestimmte Magento Dateien vermindert das Problem. Sie können in dann einfach einsteigen Admin > handhaben Produkte, auserwählte mehrfache Produkte unter Verwendung der Checkboxes und verwenden den Tropfen boxen unten am Oberseite-rechten, des Bildschirms, zum der Attribut-Sets der mehrfachen Produkte sofort zu ändern. Jetzt nicht tat diese Abwehr viel Zeit.!
In APP/codieren Sie,/Kern/Mage/Adminhtml/Block/Catalog/Product/Grid.php um Zeile 253 Anzeige:
$sets = Mage:: getResourceModel („eav/entity_attribute_set_collection ") - > setEntityTypeFilter (Mage:: getModel („Katalog/Produkt“) - > getResource () - > getTypeId ()) - > Eingabe () - > toOptionHash (); array_unshift ($statuses, Reihe ('label'=> '', 'value'=> '')); $this-> getMassactionBlock () - > addItem („attribute_set“, Reihe ( 'label'=> Mage:: Helfer („Katalog“) - > („Änderungsattribut eingestellt "), „URL“ => $this-> getUrl („*/*/massAttributeSet“, Reihe ('_current'=> richten Sie)) aus, „zusätzliches“ => Reihe ( „Sicht“ => Reihe ( „Name“ => „attribute_set“, „schreiben Sie“ => „wählen Sie“ aus, „klassifizieren Sie“ => „Benötigeneintrag“, „Kennsatz“ => Mage:: Helfer („Katalog“) - > („Attribut eingestellt "), „bewertet“ => $sets ) ) ));
Und dann in APP/im Code/im Kern/Mage/Adminhtml/controllers/Catalog/ProductController.php (überall in der Kategorie) fügen Sie eine neue Funktion hinzu:
allgemeines Funktion massAttributeSetAction () { $productIds = $this-> getRequest () - > getParam („Produkt "); $storeId = (int) $this-> getRequest () - > getParam („Speicher“, 0); wenn (! is_array ($productIds)) { $this-> _getSession () - > addError ($this-> („wählen Sie bitte Produkte ") aus,); } sonst { Versuch { foreach ($productIds als $productId) { $product = Mage:: getSingleton („Katalog/Produkt ") - > unsetData () - > setStoreId ($storeId) - > Eingabe ($productId) - > setAttributeSetId ($this-> getRequest () - > getParam („attribute_set ")) - > setIsMassupdate (zutreffend) - > außer (); } Mage:: dispatchEvent („catalog_product_massupdate_after“, Reihe ('products'=> $productIds)); $this-> _getSession () - > addSuccess ( $this-> („Gesamtmenge %d Sätze wurden erfolgreich“, Zählimpuls ($productIds) geändert) ); } Fang (Ausnahme $e) { $this-> _getSession () - > addError ($e-> getMessage ()); } } $this-> _redirect („*/*/“, Reihe ('store'=> (int) $this-> getRequest () - > getParam („Speicher“, 0))); }
Hoffen Sie, dass dieses hilft!
Kommentar
Eine Antwort „ein vorhandenes Produkt ändernd, um ein Attribut einstellen zu lassen“
Lassen Sie eine Antwort
![]() Löschung-Test-Ordnungen in Magento |

Neu zu Magento? 












































Danke! Es funktioniert wie eine Festlichkeit.
Ein Wort von WARNING: es gibt (Textverarbeitungsgerätart) einzelne linke Anführungsstriche und einzelnes Recht veranschlägt im Code, die durch einfache einzelne Anführungsstriche ersetzt werden muss. Auch es gibt ein paar Anführungszeichen, die Paare (der leeren) einzelnen Anführungsstriche wirklich sein sollten.