Hallo, liebe Community!
Ich habe erneut eine Frage an euch und hoffe wieder auf eure Hilfe!
Ich möchte mein Shop so einrichten, dass beim Hinzufügen eines neuen Artikels die Artikelnummer schon automatisch erstellt war und in dem entsprechenden Feld stand. Dasselbe sollte auch beim Kopieren des Artikels passieren.
Meine Artikelnummer sieht z.B. so aus:0100034020311. Die ersten beiden Ziffern bedeuten Kategorie, die 5 Ziffern in der Mitte ist einfach eine fortlaufende Zahl bzw. die Ordnungsnummer und die letzten 6 Ziffern bedeuten das Datum der Erstellung des Artikels.
Ich möchte, dass wenn ich auf “neuen Artikel anlegen” (oder “Art. kopieren”) klicke, die Artikelnummer entsprechend angepasst wird, also dass die noch nicht vergebene Ordnungsnummer gewählt und das aktuelle Datum hinzugefügt wird und in der Form wie oben genannt im Feld “Art.-Nr.” angezeigt wird. Die Kategorienummer wird manuell angepasst.
Ist denn sowas möglich? Oder hat das schon jemand versucht?
An einer Stelle prüft das System ja, ob die Artikelnummer schon vorhalden ist, diese Funktion könnte man doch verwenden oder? Und weiß jemand zumindest wo diese implementiert wurde?
Nicht das ich dir bei deinem Problem helfen kann, aber ich möchte dir als langjähriger Informatiker einen Tipp geben: vermeide sog. sprechende Schlüssel.
In deinem Fall die Kategorie in der Artikelnummer abbilden. Was machst du wenn du mal reorganisieren musst? Kategorien aufteilen oder zusammlegen? Oder einfach nur Artikel von einer Kategoerie in eine andere verscheiben musst und es gab schon Bestellungen? Schon hast du Probleme…
wozu dient eigentlich ne artikelnummer ??
die der hersteller ist doch sowieso anders oder in der warenwirtschaft hinterlegt - noch dazu wenn man bei verschiedenen herstellern die gleichen produkte einkauft wozu dann ne eigene kryptische artikelnummer ??
ich laß den admin einfach mit jedem speichern bei neuanlage vater oder variante eine nummer weiterzählen, fertig - aus 1 wird 2 aus 2 dann 3 usw.
damit kommt oxid klar, damit kommt pixi klar und die telefonische hotline auch, denn wehe wenn der kunde mal nur halb die kryptische nummer notiert hat … dann doch lieber nur 5 zahlen.
[QUOTE=natpu0t;52125]0100034020311[/QUOTE]
Kann dir von solch langen Artikelnummern nur abraten. Das gibt nur Probleme. Wenn der Kunde die Artikelnummer am Telefon sagen muss, ist es schon mal mühsam und wenn er sie in ein Mail tippen muss, ist die Fehlerquote relativ hoch. Überleg dir, was dein Mehrwert wirklich ist, wenn du so viele Daten aus der Artikelnummer lesen kannst.
Ich danke für eure Antworten!
Ich habe mir jetzt auch überlegt, dass ich vielleicht doch einfachere Artikelnummer nehmen sollte. Ich wollte nur dass man anhand der Artikelnummer schon einige Infos ablesen kann. Ist für die Buchführung einfacher dann, dachte ich mir.
ich laß den admin einfach mit jedem speichern bei neuanlage vater oder variante eine nummer weiterzählen, fertig - aus 1 wird 2 aus 2 dann 3 usw.
Und wie geht das? Wie kann man sowas implementieren?
Aber es scheint mir, nicht so schwer zu sein, das selbst zu programmieren. Im Grunde genommen, kann man die Funktion die die Artikelnummer vegleicht nehmen und so ergänzen, dass sie einfach nächstmögliche Zahl rausgibt. Nur wo ist diese implementiert, dass ist die Frage.
Hab zwar mit PHP und Oxid an sich nicht so viel Erfahrung, aber ich glaube das sollte nicht allzu schwer sein. Mich wunderts nur, dass hier im Forum, dies noch nicht diskutiert wurde.
Jemand eine Idee?
[QUOTE=markus26;52197]Hallo,
in Datenbank oxarticles/oxartnum unter Extra [B]auto_increment[/B] auswählen und Probieren.
Da ich mein Sortiment via csv hochlade mache ich das über excel, einfach ein zahl eingeben festhalten und runterziehen.
Gruß Markus[/QUOTE]
Diese Idee verfolge ich auch. Wollte allerdings, falls der Anweder den letzten eingegebenen Artikel wieder löscht (bspw. wegen Fehleingaben) den auto_increment Zähler in der Tabelle wieder um 1 reduzieren. Dafür müsste ich ja mit
SELECT MAX(`OXARTNUM`) + 1 FROM `oxarticle`
und dann
ALTER TABLE `oxarticle` AUTO_INCREMENT = 'ermittelter Wert'
Den Zähler wieder ‘minimieren’. In welcher Datei müsste ich da ansetzen bzw. welche Klasse/Funktion überladen?
Hangele mich gerade von der index.php langsam durch ohne zu wissen ob und wann ich die Stelle finde. Vielleicht bin ich ja schon dran vorbei Für einen Tip wäre ich echt sehr dankbar.
Damit die Artikelnummer 5 Stellig angezeigt wird, muss ich in den entsprechenden Templates ja nur mit STR_PAD links Nullen ergänzen. Mich interessiert die Datenbankgeschichte.
[QUOTE=teo;52508]Diese Idee verfolge ich auch. Wollte allerdings, falls der Anweder den letzten eingegebenen Artikel wieder löscht (bspw. wegen Fehleingaben) den auto_increment Zähler in der Tabelle wieder um 1 reduzieren. Dafür müsste ich ja mit
SELECT MAX(`OXARTNUM`) + 1 FROM `oxarticle`
und dann
ALTER TABLE `oxarticle` AUTO_INCREMENT = 'ermittelter Wert'
Den Zähler wieder ‘minimieren’. In welcher Datei müsste ich da ansetzen bzw. welche Klasse/Funktion überladen?
Hangele mich gerade von der index.php langsam durch ohne zu wissen ob und wann ich die Stelle finde. Vielleicht bin ich ja schon dran vorbei Für einen Tip wäre ich echt sehr dankbar.
Damit die Artikelnummer 5 Stellig angezeigt wird, muss ich in den entsprechenden Templates ja nur mit STR_PAD links Nullen ergänzen. Mich interessiert die Datenbankgeschichte.[/QUOTE]
Hast du das mit dem automatischen Hinzufügen der Artikelnummer hinbekommen?
Wenn ja, es wäre echt nett, wenn du deine Lösung posten würdest!