Ein Artikel, der als Rest eingestellt wird, kann nach ausverkauft (wird korrekt angezeigt) trotzdem noch bestellt werden.
Dies sollte nach Aussage der Hilfeseite nicht mglich sein. Was hab ich falsch gemacht? Wo muss ich noch war ndern?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Kann ich mir eigentlich nicht vorstellen ... Freilich der 'In den Warenkorb'-Button ist noch da, man kann auch draufklicken, aber bei mir landet der Artikel dann trotzdem nicht im Warenkorb.
(Zugegeben: Der Button solte nicht da sein oder sonst noch irgendein Hinweis, aber das ist eine andere Thematik.)
Gru,
Andreas.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zweifelsfrei ...
Problem ist offensichtlich, das der Bestand nicht gendert wird.
In cart.php gibt es in den Methoden add_item() und modify_quantity() einen SQL-Queries wie "update size set stock='$newstock' where sizeID='$sizeID'"
Genau an dieser $sizeID scheitert das. Aus irgendeinem Grunde wird kein Eintrag fr den Bestand in der Tabelle size erzeugt.
Zur Erklrung:
Jeder Artikel hat mindestens einen Eintrag fr den Bestand in der Tabelle size: size.ID, size.itemID, size.expiration, size.stock, size.newid=0
Das hat noch nichts mit einer zustzl. Eigenschaft zu tun. Zu einer solchen wird der Eintrag erst, wenn in sizeinfo.value ein Wert zur size.ID erscheint.
Ein genereller Fehler kann's wohl nicht sein, dann htten sich auch andere schon 'beklagt' ;-)
Gru,
Andreas.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Bei mir steht in der Tabelle "size" der Wert fr "expiration" der fraglichen Artikel auf "rest", unter "stock" lese ich "0.000". Die Tabelle "sizeinfo" enthlt keine Daten. Was msste denn dort stehen?
Ciao,
Johannes
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hm, das hatte ich befrchtet ... Ist auch nicht ganz einfach.
In /admin/item.php mut Du suchen ...
Zeile 49 (neuer Artikel) ...insert into size ..." eine 3 als zweites Funktionsargument fr db_query() bergeben. Die Variable $new_row[0] mu einen Wert haben, nmlich die neue Artikel-ID.
Zeile 92 (Artikel ndern) ... update size ... auch mal schauen, was da geht (3 siehe oben).
Vermutlich bekommt $new_row[0] bei Dir keinen Wert und alles andere sind Folgefehler. Die neue ID kriegst Du auch mit einer nderung in Zeile 17 raus. ndere den Query in:
SELECT LAST_INSERT_ID() FROM item
Oder so hnlich siehe PHP-Dokumentation mysql_insert_id() und MySQL-Dokumentation.
Gru,
Andreas.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich habe hier in etwa dasselbe Problem. Die Artikel werden zwar mit einem roten Kstchen als ausverkauft markiert, lassen sich aber nach wie vor in den Warenkorb legen und werden dort aufgefhrt.
Gibt es mittlerweile einen "amtlichen" Fix fr das Problem? Ich muss gestehen, dass es mir etwas zu mhsam ist, mich durch den Quellcode, den ich noch berhaupt nicht kenne, zu beien.
Ciao,
Johannes
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
brigens finde ich, dass es sinnvoll wre, wenn irgendwo neben dem roten Kstchen auch das Wrtchen "Leider vergriffen" (ebenfalls in Rot und <b>) zu lesen ist. Denn ich bin mir nicht sicher, ob jeder sofort versteht, was da gemeint ist. Ich habe die show_expi.inc.php bei mir so angepasst und finde es so wesentlich besser.
Zu guter letzt besteht dasselbe Problem auch mit detail.php: Auch in der Detailansicht lassen sich vergriffene Sachen immer noch in den Warenkorb legen. Es msste dort also irgendwo vor Zeile 80 eine entsprechende Kontrollabfrage eingebaut werden.
Ciao,
Johannes
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Kleine Ergnzung zu dem, was ich oben schrub: Sowohl detail.php als auch show_item_0.inc.php verwenden doch ihrerseits show_expi.inc.php, wo die Kontrollabfrage ob vergriffen oder nicht ja korrekt durchgefhrt wird. Anstatt also sowohl in detail.php als auch in show_item_0.inc.php je eine gesonderte Datenbankabfrage durchzufhren, wre es doch ressourcenschonender, stattdessen in show_expi.inc.php eine Variable $out_of_stock zu setzen, auf die dann spter zurckgegriffen werden kann.
Ciao,
Johannes
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
[Ausverkauft-Text] Kannst Du Dich dazu hinreien lassen, Deine show_expi* vielleicht beim Patch fr die show_item* zu posten? Dann htten auch andere was davon ;-)
[detail.php] Brauchst Du ja nur in der show_item_0.inc.php abzuschreiben ;-)
Und dann vielleicht auch posten ...
Gru,
Andreas.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen.
Ich habe folgendes Problem:
Ein Artikel, der als Rest eingestellt wird, kann nach ausverkauft (wird korrekt angezeigt) trotzdem noch bestellt werden.
Dies sollte nach Aussage der Hilfeseite nicht mglich sein. Was hab ich falsch gemacht? Wo muss ich noch war ndern?
Kann ich mir eigentlich nicht vorstellen ... Freilich der 'In den Warenkorb'-Button ist noch da, man kann auch draufklicken, aber bei mir landet der Artikel dann trotzdem nicht im Warenkorb.
(Zugegeben: Der Button solte nicht da sein oder sonst noch irgendein Hinweis, aber das ist eine andere Thematik.)
Gru,
Andreas.
Leider geht das bei mir. :o(
Unter http://shop.cardcorner.net
ist ein testartikel 99999 angelegt.
Irgendwas mach ich wohl falsch. Wre schn, wenn du mal nachschauen knntest.
Gru
Heiner
Zweifelsfrei ...
Problem ist offensichtlich, das der Bestand nicht gendert wird.
In cart.php gibt es in den Methoden add_item() und modify_quantity() einen SQL-Queries wie "update size set stock='$newstock' where sizeID='$sizeID'"
Genau an dieser $sizeID scheitert das. Aus irgendeinem Grunde wird kein Eintrag fr den Bestand in der Tabelle size erzeugt.
Zur Erklrung:
Jeder Artikel hat mindestens einen Eintrag fr den Bestand in der Tabelle size: size.ID, size.itemID, size.expiration, size.stock, size.newid=0
Das hat noch nichts mit einer zustzl. Eigenschaft zu tun. Zu einer solchen wird der Eintrag erst, wenn in sizeinfo.value ein Wert zur size.ID erscheint.
Ein genereller Fehler kann's wohl nicht sein, dann htten sich auch andere schon 'beklagt' ;-)
Gru,
Andreas.
Bei mir steht in der Tabelle "size" der Wert fr "expiration" der fraglichen Artikel auf "rest", unter "stock" lese ich "0.000". Die Tabelle "sizeinfo" enthlt keine Daten. Was msste denn dort stehen?
Ciao,
Johannes
Tabelle size reicht und klingt gut.
sizeinfo ist nur fr den Text der 1sten Eigenschaft.
Gru,
Andreas.
Danke fr die Antwort, leider hilft mir das nicht wirklich weiter. :o(
Hast du eine Idee, wie ich das beheben kann?
Gru
Heiner
Hm, das hatte ich befrchtet ... Ist auch nicht ganz einfach.
In /admin/item.php mut Du suchen ...
Zeile 49 (neuer Artikel) ...insert into size ..." eine 3 als zweites Funktionsargument fr db_query() bergeben. Die Variable $new_row[0] mu einen Wert haben, nmlich die neue Artikel-ID.
Zeile 92 (Artikel ndern) ... update size ... auch mal schauen, was da geht (3 siehe oben).
Vermutlich bekommt $new_row[0] bei Dir keinen Wert und alles andere sind Folgefehler. Die neue ID kriegst Du auch mit einer nderung in Zeile 17 raus. ndere den Query in:
SELECT LAST_INSERT_ID() FROM item
Oder so hnlich siehe PHP-Dokumentation mysql_insert_id() und MySQL-Dokumentation.
Gru,
Andreas.
Leider bekomm ich es nicht hin.
Kann mir jemand helfen?
Gru
Heiner
Ich habe hier in etwa dasselbe Problem. Die Artikel werden zwar mit einem roten Kstchen als ausverkauft markiert, lassen sich aber nach wie vor in den Warenkorb legen und werden dort aufgefhrt.
Gibt es mittlerweile einen "amtlichen" Fix fr das Problem? Ich muss gestehen, dass es mir etwas zu mhsam ist, mich durch den Quellcode, den ich noch berhaupt nicht kenne, zu beien.
Ciao,
Johannes
Nein, einen amtlichen Fix gibt's nicht.
Unter http://sourceforge.net/tracker/index.php?func=detail&aid=858282&group_id=39285&atid=424796
habe ich mal die show_item abgelegt, wie sie auch unter phpay.de im Einsatz ist.
Das lst das Problem nicht, umgeht es aber.
Gru,
Andreas.
Vielen Dank dafr!
brigens finde ich, dass es sinnvoll wre, wenn irgendwo neben dem roten Kstchen auch das Wrtchen "Leider vergriffen" (ebenfalls in Rot und <b>) zu lesen ist. Denn ich bin mir nicht sicher, ob jeder sofort versteht, was da gemeint ist. Ich habe die show_expi.inc.php bei mir so angepasst und finde es so wesentlich besser.
Zu guter letzt besteht dasselbe Problem auch mit detail.php: Auch in der Detailansicht lassen sich vergriffene Sachen immer noch in den Warenkorb legen. Es msste dort also irgendwo vor Zeile 80 eine entsprechende Kontrollabfrage eingebaut werden.
Ciao,
Johannes
Kleine Ergnzung zu dem, was ich oben schrub: Sowohl detail.php als auch show_item_0.inc.php verwenden doch ihrerseits show_expi.inc.php, wo die Kontrollabfrage ob vergriffen oder nicht ja korrekt durchgefhrt wird. Anstatt also sowohl in detail.php als auch in show_item_0.inc.php je eine gesonderte Datenbankabfrage durchzufhren, wre es doch ressourcenschonender, stattdessen in show_expi.inc.php eine Variable $out_of_stock zu setzen, auf die dann spter zurckgegriffen werden kann.
Ciao,
Johannes
[Ausverkauft-Text] Kannst Du Dich dazu hinreien lassen, Deine show_expi* vielleicht beim Patch fr die show_item* zu posten? Dann htten auch andere was davon ;-)
[detail.php] Brauchst Du ja nur in der show_item_0.inc.php abzuschreiben ;-)
Und dann vielleicht auch posten ...
Gru,
Andreas.