Jump to content
xt:Commerce Community Forum

Limitierter Warenkorb


MightyMike

Recommended Posts

Hallo,

unser Kunde m?chte die Anzahl der Artikel im Warenkorb (Artikel pro Bestellung) sowie die Menge der einzelnen Artikel begrenzt haben. Da ich im Shop selbst nichts gefunden habe (die Bedeutung der Maximalen Produktanzahl ist mir nicht ganz klar), um diese Beschr?nkung zu erm?glichen, m?sste ich das wohl programmieren. Da ich in der xt:commerce-Erweiterung noch Neuling bin, tue ich mich schwer, den Aufwand zu sch?tzen.

Ein logischer Aufbau w?re: ?berpr?fung der Artikelanzahl im Warenkorb. Wenn Anzahl = x, zeige Meldung "Nix geht mehr" und breche weitere Verarbeitung ab.

Wo muss ich da ?berall ran?

Danke f?r alle Antworten.

Gru?,

Michael

Link to comment
Share on other sites

Das l?sst sich mit ein bisschen coden bewerkstelligen.

ganz banal geht das in der cart_actions.php mit der Zeile:

if $_GET['products_qty']>100 then {

$_GET['products_qty']=100;

}
das unter die Zeile
 case 'add_product':
eingebaut geh?rt, und

if $_GET['cart_quantity']>100 then {

$_GET['cart_quantity']=100;

}
das unter die Zeile
 case 'update_product':

eingebaut geh?rt.

Somit wird im Warenkorb immer nur die Maximalmenge stehen.

Nat?rlich erfordert es noch einige HTML anpassungen z.B. die Meldung, da? die Menge auf das maximal Erlaubte reduziert wurde.

Link to comment
Share on other sites

Hallo allerseits!

Wen es interessiert, ich habe folgende L?sung gefunden:

In cart_actions.php ersetze in der Fallunterscheidung bei add_product

$_SESSION['cart']->add_cart((int)$_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id']))+$_POST['products_qty'], $_POST['id']);

durch

if ($_SESSION['cart']->count_contents() < 100) {

$_SESSION['cart']->add_cart((int)$_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id']))+$_POST['products_qty'], $_POST['id']);

}

else

{

$_GET['info_message'] = 'Maximale Produktanzahl im Warenkorb ist erreicht!';

}

In diesem Fall wird gepr?ft, ob das Limit (hier 100) erreicht ist. Falls ja, wird ein Hinweistext angezeigt und der ausgew?hlte Artikel dem Warenkorb nicht angef?gt.

Damit die Funktion auch an anderen Stellen im Shop funktioniert, muss der entsprechende Code auch bei den anderen Fallunterschiedungen, bei denen ein Artikel dem Warenkorb zugef?gt wird, eingef?gt werden.

Eine Begrenzung der St?ckzahl l?sst sich einmal ?ber die Angabe der Maximalen Produktanzahl im Admin-Bereich erreichen. Wenn gew?nscht ist, die Eingabe auf eine bestimmte Stellenzahl zu begrenzen, muss in der xtc_draw_input_field.php beim Zusammenbau des input-Tags ein maxlength-Attribut erg?nzt werden. Damit nicht alle input-Felder limitiert sind, am besten die xtc_draw_input_field.php kopieren, umbennen und das include-Statement in der order_details_cart.php anpassen. Schon l?ppt?s.

Gru?,

Michael

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...