Frage

Wie kann ich SKU sein erlauben länger als 34 Zeichen (für einfache Produkte) für alle Produkte?

Wenn ich neues Produkt hinzufügen (einfach) und geben Sie mehr als 34 Zeichen, Magento schneidet es auf 34 nach dem Speichern.

In der Datenbank der 'sku' Attribute (für quete Artikel, Auftragsposition, Rechnungsposition, Versand Artikel) aus eav_attribute Tabelle hält varchar (255). Für Catalog_Product_Entity die zurückzuführen ist VARCHAR (64). In jedem Fall ist es mehr als 34characters. So konnte ich SKU ohne irgendeine Änderung in der Datenbank zu 64 Zeichen ändern, oder?

Wie mache ich das? Ich habe gutes Verständnis der magento Code Benutzerseite, aber nicht Admin Seite. Können Sie mir ein gutes Tutorial vorschlagen auf Änderungen in Admin Seite zu machen, die mich Figur diese Frage selbst helfen könnte.

Danke, Margots

War es hilfreich?

Lösung

@latvian Die Art der Modifikation, dass Sie schlagen als Lösung nicht eine sehr gute Idee ist, wie es die Kompatibilität mit der Core-Installation bricht und es kann nicht vorhergesagtes Verhalten in der Zukunft schaffen, wenn der Kern aktualisieren. Dieses quick and dirty Weg, um Probleme zu lösen, wird nur Probleme in der Zukunft schaffen.

Was ich empfehlen, ein benutzerdefiniertes Attribut auf das Produkt Objekt fügt dem Namen custom_sku , die eine Zeichenfolge sein kann, und Sie können es so lange machen, wie Sie wollen. Hier ist ein Link auf, wie eine benutzerdefinierte Attribut zu Ihrer Installation hinzuzufügen.

Andere Tipps

Es gibt mehr zu bieten als diese selbst ....

Ändern SKU Feld in: catalog_product_entity zu varchar (255) Veränderung SKU Feld in: catalog_product_flat_some_number zu varchar (255)

Und dann werden Sie zu bearbeiten haben die Sku.php so die Validierung wird nicht Trigger im Admin.

Ändern: const SKU_MAX_LENGTH = 64;

zu: const SKU_MAX_LENGTH = 255;

Das wird die max_length erlaubt 255 statt 64 zu sein .. macht es, was Sie möchten.

habe ich das selbst. Hier ist, was ich getan habe.

Zuerst machte ich Fehler auf der Zählung im oben. Standardmäßig können Magento SKU # 64 max lang sein. Dies liegt daran, dass die kürzesten der SKU-Attribute (in Tabelle catalog_product_entity) in der DB zu VARCHAR gesetzt ist (64).

  1. Ändern SKU Attribut in catalog_product_entity Tabelle varchar (255) oder jede gewünschte Länge. Wenn diese Länge kleiner als 255 sind Sie in Ordnung sonst muss man andere SKU solche Attribute als Bestellung SKU ändern, Quote SKu und andere im DB

  2. Durch die Einstellung der SKU Länge zu groß es bricht das Gitter in der Katalog-> Produkt verwalten. One-Lösungen sind in /design/adminhtml/default/default/template/widget/grid.phtml Zeile folgenden Code einfügen 157 (nach dieser Zeile: <?php foreach ($this->getCollection() as $_index=>$_item): ?>)

    <?php //truncates SKU when too large
    $sku = $_item->getData('sku');
    if(strlen($sku)>60){
        $sku = substr($sku,0,60);
    }
    $_item->setData('sku',$sku);
    ?>
    

Nun, auch wenn Sie nicht in der Lage sein werden, die volle SKU-Nummer in Catalog- sehen> Produkt verwalten, erhalten Sie volle SKU wenn Doppelklick bearbeiten / das Produkt individuell sehen.

Ich hoffe, es war nützlich.

Best

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top