Magento – überschreibt ungewollt Attribute bei “Mettre à jour les attributs”

ImageIn einem Shop hatten wir das Problem, dass bei der Verwendung vonMettre à jour les attributs” (Catalogue > Artikel verwalten > Artikel anhaken und dann oben rechts im Dropdown “Mettre à jour les attributs” sélectionner) aussi Attribute überschrieben bzw. geleert wurden, die gar nicht angehakt worden sind.

Exemple: Wir wollten für 10 Produkte die Mehrwertsteuer-Klasse ändern. Dafür haken wir diese in der Artikelübersicht an und wählen “Mettre à jour les attributs”. Dann setzen wir das Häcken beiÄndernund wählen den korrekten Wert. Anschließend dann speichern.

Nun wurde aber nicht nur das gewünschte Attribut verändert sondern bei vielen anderen Attributen wurde einfach der bisher vorhandene Wert entfernt / supprimé.

Nach näherer Betrachtung -der Backend-Ansicht- s'est avéré, dass bei den betreffenden Attributen zwar kein Haken beiÄndern” fixé, das Feld aber dennoch aktiv war. Dies konnte man an zwei Dingen sehen:

1. sind alle anderen Felder so lange ausgegraut, wie kein Haken beiÄnderngesetzt ist.
2. konnte man ohne den Haken zu setzen in den Feldern etwas eintragen oder auswählen

Setzte man nun nur kurz den Haken und entfernte ihn anschließend wieder (ohne eine Änderung vorzunehmen), wurde das Feld ausgegraut und nichts wurde verändert.

Anschließend schauten wir uns den Code an und stellten fest, dass es anscheinend an einemRead-Only”-Attribut lag, welches durch eine Extension erstellt worden war und welches nun auch in der Liste auftauchte bzw. diese durcheinanderbrachte.

Die Lösung war nun dieRead-Only”-Attribute von der “Mettre à jour les attributs”-Liste auszuschließen.

Dies haben wir dadurch erreicht, dass wir die Datei Attribute.php aus dem Ordner app/code/core/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action kopiert und in das Verzeichnis app/code/local/Mage/Adminhtml/Helper/Catalog/Product/Edit/Action kopiert haben. Anschließend wurde dann die Zeile

$ce->_attributes->addFieldToFilter('frontend_input',gamme('neq' => «Label»));

hinter

si ($ce->_excludedAttributes) {
$ce->_attributes->addFieldToFilter('attribute_code', gamme('nin' => $ce->_excludedAttributes));
}

et avant

// check product type apply to limitation and remove attributes that impossible to change in mass-update

inséré.

Dies verhindert, dass die störende Attribut-Art auftaucht und die Funktion “Mettre à jour les attributs” durcheinander bringt.

Utilisé dans les versions Magento 1.9 Remarques? Ajouts? Remarques? Volontiers!

Publié par Covos

Depuis 2009 Je travaille intensément avec Magento. J'ai commencé avec la création et l'exploitation des magasins B2C. Cela a été prolongé par mon travail dans le secteur de la logistique. Il en est résulté premiers systèmes de B2E spécialisés. Aujourd'hui, je travaille jour par jour avec B2C passionnant, B2B- et les projets B2E et rapports dans ce blog sur les défis et donner des conseils d'initiés.

Laisser un commentaire

Votre adresse email ne sera pas publié. les champs requis sont indiqués *