Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Aktikelnummer / SKU automatisch generieren
 
Kwicks
Jr. Member
 
Total Posts:  9
Joined:  2010-02-21
 

Hallo zusammen,

ich frage mich, warum ich für jedes Produkt manuell eine Artikelnummer eintragen muss.
Eigentlich fände ich eine schöne fortlaufende Nummer ideal, jedoch weiss ich ja nicht unbedingt, welche Nummer das zuletzt angelegte Produkt hatte.

Gibt es eine Funktion, dass die Artikelnummer automatisch generiert wird, bzw. automatisch in das SKU-Feld beim Produktanlegen eingetragen wird?

Danke!
Kwicks

 
Magento Community Magento Community
Magento Community
Magento Community
 
Kwicks
Jr. Member
 
Total Posts:  9
Joined:  2010-02-21
 

schade, ich finde sehr seltsam dass ich wohl der einzige mit diesem Problem bin :(
Würde mich sehr über einen Hinweis freuen.

 
Magento Community Magento Community
Magento Community
Magento Community
 
www.zerohosting.de
Jr. Member
 
Total Posts:  3
Joined:  2010-03-16
 

Du kannst in der datenbank für das Tabellenfelder den Wert von SKU in Autowert umstellen. Dann addiert er automatisch dir einen wert.

 
Magento Community Magento Community
Magento Community
Magento Community
 
marko.roeper
Jr. Member
 
Total Posts:  1
Joined:  2010-11-10
 

Für diese Funktionalität sind folgende Schritte notwendig:

1.) Umstellung des Datentyps für das Feld “sku” in Tabelle “catalog_product_entity” von varchar auf int(11)
2.) Änderung in folgender Datei:
/app/design/adminhtml/default/default/template/catalog/form/renderer/fieldset/element.phtml

nach:

<?php $_element $this->getElement() ?>
einfügen:
<?php
    $standardVal 
'';
    if(
$_element->getName()=='product[sku]')
    
{
        $SQL 
'SELECT max(sku) AS maxSKU FROM catalog_product_entity';
        
$Data Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($SQL);
        
$standardVal intval($Data[0]['maxSKU']);
        if(
$standardVal>0$standardVal++;
        else 
$standardVal '';
    
}
?>

weiter unten aus:

<?php echo trim($this->getElementHtml()) ?>
folgendes machen:
<?php echo str_replace('value=""','value="'.$standardVal.'"',trim($this->getElementHtml())) ?>

Was tut dies?
Es liest aus der Datenbank den maximalen Wert der vergebenen SKUs aus - addiert 1 hinzu und trägt diesen Wert als Vorgabe in das Feld SKU ein. Dieser kann natürlich ganz normal vom Benutzer überschrieben werden.

Zu beachten!
Durch ein Magento Update geht diese Funktionalität mit an Sicherheit grenzender Wahrscheinlichkeit wieder verloren, also danach erneut einfügen. Wenn jemand eine dauerhafte Lösung dafür hat, gerne her damit.

p.s.: ich übernehme selbstredend keinerlei Gewähr für das Funktionieren in sämtlichen Magento Versionen. Habe dieses selbst in Version 1.4.1.1 funktional im Einsatz.

 
Magento Community Magento Community
Magento Community
Magento Community
 
bennyzen
Jr. Member
 
Total Posts:  4
Joined:  2011-05-25
 

Many thx for your approach but it does not seem to work on magento >1.5. MySQL reports this while trying to change the sku-field:

Error
SQL query:

ALTER TABLE `catalog_product_entity` CHANGE `sku` `sku` INT( 11 ) NOT NULL AUTO_INCREMENT COMMENT ‘SKU’

MySQL said: Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
Field

Some help or a working approach would be really appreciated.

Cheers
B

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top