Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Artikel mit Bestand 0 soll NICHT inaktiv geschaltet werden

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Hallo,

    ich habe mir die Abfrage aus dem Anwenderhandbuch eingebaut, dass bei Artikeln, die den Bestand 0 haben, der Kaufenbutton ausgeblendet wird.
    Jetzt möchte ich allerdings, dass Artikel, die den Bestand 0 haben, nicht automatisch auf inaktiv gesetzt werden.
    Jetzt brauche ich eure Hilfe bitte. In der checkout_process.php habe ich diese Zeilen gefunden:

    Code: PHP  [Auswählen]
    xtc_db_query("update ".TABLE_PRODUCTS." set products_quantity = '".$stock_left."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
                            if (($stock_left <1) && (STOCK_ALLOW_CHECKOUT == 'false')) {
                                    xtc_db_query("update ".TABLE_PRODUCTS." set products_status = '0' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
                            }
    Den Code habe ich geändert in:

    Code: PHP  [Auswählen]
    xtc_db_query("update ".TABLE_PRODUCTS." set products_quantity = '".$stock_left."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
                            if (($stock_left <1) && (STOCK_ALLOW_CHECKOUT == 'false')) {
                                    //xtc_db_query("update ".TABLE_PRODUCTS." set products_status = '0' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
                            }
    Somit werden Artikel, die einen Bestand von 0 haben nicht mehr auf inaktiv gesetzt. Passt das so? Kann sich das bitte mal ein Experte anschauen?

    Gruß,
    Jens



    Linkback: https://www.modified-shop.org/forum/index.php?topic=6997.0

    hendrik

    • Experte
    • Beiträge: 2.038
    Artikel mit Bestand 0 soll NICHT inaktiv geschaltet werden
    Antwort #1 am: 30. Juli 2010, 08:47:54
    Das hättest du auch einfacher haben können.

    Im Adminbereich unter "Konfiguration" -> "Lagerverwaltungs Optionen" -> "Einkaufen nicht vorrätiger Ware erlauben" = "false" "true"

    Nachtrag: Auf "true", nicht "false".

    Gruß
    Hen

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Artikel mit Bestand 0 soll NICHT inaktiv geschaltet werden
    Antwort #2 am: 30. Juli 2010, 08:48:09
    Der Rest des Konstruktes ist damit eigentlich auch überflüssig, also reicht es so:

    Code: PHP  [Auswählen]
    xtc_db_query("update ".TABLE_PRODUCTS." set products_quantity = '".$stock_left."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
    /*
                if (($stock_left <1) && (STOCK_ALLOW_CHECKOUT == 'false')) {
                    xtc_db_query("update ".TABLE_PRODUCTS." set products_status = '0' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
                }
    */

     
    Nachtrag: Da war der Hendrik schneller und seine Lösung ist natürlich komfortabler, aber setzt nicht das "inaktiv setzen" der Ware bei Bestand = 0 außer Kraft, soweit ich weiss.

    Grüße

    Torsten

    bimbelbambel

    • Frisch an Board
    • Beiträge: 51
    Artikel mit Bestand 0 soll NICHT inaktiv geschaltet werden
    Antwort #3 am: 05. Mai 2011, 21:33:52
    @Tomcraft

    Wenn ich deine Lösung umsetze passiert bei mir folgendes:

    Artikel werden bei einer Bestellung nicht mehr abgezogen. Das habe ich jetzt erst gemerkt und habe nun einige verärgerte Kunden.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Artikel mit Bestand 0 soll NICHT inaktiv geschaltet werden
    Antwort #4 am: 05. Mai 2011, 22:18:49
    Dann hast du definitiv etwas falsch gemacht!

    Ich kann dir auch sagen was! Du hast den kompletten Code entfernt, den ich gepostet hatte, du solltest aber nur den Teil auskommentieren!

    Wenn du also folgendes entfernt hast:

    Code: PHP  [Auswählen]
    xtc_db_query("update ".TABLE_PRODUCTS." set products_quantity = '".$stock_left."' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");
     
    dann ist wohl klar, dass die Bestände nicht mehr aktualisiert werden. :hust: :whistle:

    SQL liest sich doch wirklich ziemlich einfach... übersetze dir das nur mal ins Deutsche. ;-)

    Beim nächsten Mal einfach ein bisschen genauer lesen. :-PP
    Deine verärgerten Kunden hast du dir selber zuzuschreiben.

    Grüße

    Torsten

    Managed Server