Modify

Opened 2 years ago

Closed 2 years ago

#2554 closed Neues Feature (fixed)

xtc_check_stock überflüssig/ändern

Reported by: info@… Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.8.0
Component: Shop Version: trunk
Keywords: Cc:
Blocked By: Blocking:

Description

Die Funktion xtc_check_stock() wird nur in folgenden beiden Dateien verwendet:
includes/moduels/order_details_cart.php
includes/checkout_requirements.php

die xtc_check_stock() verwendet wiederum die xtc_get_products_stock() um den aktuellen Artikelbestand in der Datenbank abzufragen.
Diese Datenbankabfrage ist aber nicht notwendig, da der aktuelle Bestand schon im products-array steht, den die Klasse shoppingCart anhand der get_products()-Methode bildet.

Ich schlage daher folgende Änderungen vor:

inc/xtc_check_stock.inc.php

function xtc_check_stock($products_db_stock, $products_quantity) {
    $stock_left = products_db_stock - $products_quantity;

    $out_of_stock = '';
    if ($stock_left < 0) {
      $out_of_stock = '<span class="markProductOutOfStock">' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . '</span>';
    }

    return $out_of_stock;
  }

(und require_once.... streichen)

includes/modules/order_details_cart.php Zeile 55

$mark_stock = xtc_check_stock($products[$i]['stock'], $products[$i]['quantity']);

includes/checkout_requirements.php Zeile 70

if (xtc_check_stock($products[$i]['stock'], $products[$i]['quantity'])) {

Dadurch spart man ein paar Datenbankabfragen ein und - der Grund warum ich mir das angeschaut habe: man kann die Anzahl über eine Klassenerweiterung der shoppingCart manipulieren.

Meine Kunden haben lassen grundsätzlich den Bestand im Warenkorb prüfen. Bei einigen wenigen Artikeln soll die Prüfung jedoch ausgesetzt sein. Da jedoch eine eine Wawi angebunden ist, kann nicht einfach mit einem Millionenbestand für diese Artikel gearbeitet werden, sodass die Bestandsprüfung anderweitig abgeschaltet werden muss.

Grüße
AGI

Attachments (0)

Change History (1)

comment:1 by Gerhard Waldemair, 2 years ago

Resolution: fixed
Status: newclosed

In 15438:

fix #2554 - reduce sql due to performance

Modify Ticket

Action
as closed The owner will remain somebody.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.