Jump to content
xt:Commerce Community Forum

Einkauf weiterführen wenn in Warenkorb abgelegt


Olli.T

Recommended Posts

Aber Du kannst mir bestimmt wieder mal bei ner "Kleinigkeit" helfen :rolleyes:

Ich muss einige Artikel die ich auch schon mit einem Boolean in der WAWI versehen habe und folglich als products_nosearch = 1 hinterlegt sind nicht bei der Suche anzeigen.

Kategegorie ist bereits nicht sichtbar (deaktiviert im Admin) Artikel sind und müssen aber aktviert bleiben da ich die als Zubhör im Shop zu einem Produkt verwende oder auch als Xsell.

Wie gesagt die sollen lediglich nicht bei der Suche erscheinen!!!

Ne Idee???

Danke schon mal

Link to comment
Share on other sites

  • Replies 56
  • Created
  • Last Reply

$where_str in advanced_search_result.php entsprechend anpassen:

$where_str = " WHERE p.products_nosearch != '1' && p.products_status = '1' "." AND pd.language_id = '".(int) $_SESSION['languages_id']."'".$subcat_where.$fsk_lock.$manu_check.$group_check.$tax_where.$pfrom_check.$pto_check;

Link to comment
Share on other sites

Um den Bug, dass Produkte angezeigt werden, obwohl die Kategorie inaktiv ist, zu beseitigen, musst du die Query etwas umfangreicher erweitern:

Neuer $from_string:

$from_str  = "FROM ".TABLE_PRODUCTS." AS p, ".TABLE_PRODUCTS_TO_CATEGORIES." as pc, ".TABLE_CATEGORIES." as c LEFT JOIN ".TABLE_PRODUCTS_DESCRIPTION." AS pd ON (p.products_id = pd.products_id) ";

Neuer $where_string (inkl. der obigen Änderung):

$where_str = " WHERE p.products_nosearch != '1' && p.products_status = '1' "." and p.products_id = pc.products_id && pc.categories_id = c.categories_id && c.categories_status=1 AND pd.language_id = '".(int) $_SESSION['languages_id']."'".$subcat_where.$fsk_lock.$manu_check.$group_check.$tax_where.$pfrom_check.$pto_check;

Link to comment
Share on other sites

Wie sieht denn dein kompletter SQL-String aus ($listing_sql ausgeben lassen)?

Den Sinn der Aktion verstehe ich aber nicht mehr, denn die products_nosearch werden eh nicht ausgegeben - egal, ob sie in einer aktiven oder inaktiven Kategorie stehen. Warum also nochmal die Kategorie überprüfen?

Link to comment
Share on other sites

1054 - Unknown column 'p.products_id' in 'on clause'

SELECT distinct p.products_id, p.products_price, p.products_model, p.products_quantity, p.products_bstegmge, p.products_itmge, p.products_color, p.products_tuv, p.products_et, p.products_mb, p.products_groesse, p.products_radbreite, p.products_raddurchmesser, p.products_lk, p.products_lochanzahl, p.products_lochkreis, p.products_reifenhersteller, p.products_reifenbreite, p.products_reifenquerschnitt, p.products_reifendurchmesser, p.products_reifenloadindex, p.products_reifenspeedindex, p.products_fahrzeughersteller, p.products_shippingtime, p.products_fsk18, p.products_image, p.products_weight, p.products_tax_class_id, pd.products_name, pd.products_short_description, pd.products_description FROM products AS p, products_to_categories as pc, categories as c LEFT JOIN products_description AS pd ON (p.products_id = pd.products_id) LEFT OUTER JOIN products_attributes AS pa ON (p.products_id = pa.products_id) LEFT OUTER JOIN products_options_values AS pov ON (pa.options_values_id = pov.products_options_values_id) LEFT OUTER JOIN specials AS s ON (p.products_id = s.products_id) AND s.status = '1' WHERE p.products_nosearch != '1' && p.products_status = '1' AND p.products_id = pc.products_id && pc.categories_id = c.categories_id && c.categories_status ='1' AND pd.language_id = '2' AND p.products_fsk18 != '1' AND p.group_permission_0=1 AND ( ( pd.products_keywords LIKE ('%felgen%') OR pd.products_description LIKE ('%felgen%') OR pd.products_short_description LIKE ('%felgen%') OR pd.products_name LIKE ('%felgen%') OR p.products_model LIKE ('%felgen%') OR (pov.products_options_values_name LIKE ('%felgen%') AND pov.language_id = '2') ) ) GROUP BY p.products_id ORDER BY p.products_sort, p.products_et, p.products_mb, p.products_raddurchmesser, p.products_radbreite, p.products_reifendurchmesser, p.products_reifenbreite, p.products_reifenquerschnitt

[XT SQL Error]

Link to comment
Share on other sites

das wäre TOP!

bestimmt die Reihenfolge oder irgend so eine Kleinigkeit!?

Welche Datei ist denn für die search results der "Hersteller dropdown > Kategorie dropdown" zuständig?

hatte mal was geändert und auch einen Fehler, weiss aber nicht mehr wo das war.

Ich hoffe Du weisst welche Suche ich meine

Link to comment
Share on other sites

Hier die Meldung bei der Hersteller > Kategorie results

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' order by p.products_sort, p.products_et, p.products_mb, p.products_raddurchmes' at line 50

select DISTINCT p.products_fsk18, p.products_shippingtime, p.products_model, p.products_ean, pd.products_name, p.products_id, m.manufacturers_name, p.products_quantity, p.products_bstegmge, p.products_itmge, p.products_color, p.products_tuv, p.products_et, p.products_mb, p.products_groesse, p.products_radbreite, p.products_raddurchmesser, p.products_lk, p.products_lochanzahl, p.products_lochkreis, p.products_reifenhersteller, p.products_reifenbreite, p.products_reifenquerschnitt, p.products_reifendurchmesser, p.products_reifenloadindex, p.products_reifenspeedindex, p.products_fahrzeughersteller, p.products_image, p.products_weight, pd.products_short_description, pd.products_description, pd.products_beschreibung, p.products_id, p.manufacturers_id, p.products_price, p.products_vpe, p.products_vpe_status, p.products_vpe_value, p.products_discount_allowed, p.products_tax_class_id from products_description pd, manufacturers m, products_to_categories p2c, products p left join specials s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '15' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and p.group_permission_0=1 and p.products_fsk18!=1 and pd.language_id = '2' and p2c.categories_id = '852' ORDER BY p.products_quantity ASC ' order by p.products_sort, p.products_et, p.products_mb, p.products_raddurchmesser, p.products_radbreite, p.products_reifendurchmesser, p.products_reifenbreite, p.products_reifenquerschnitt

[XT SQL Error]

Link to comment
Share on other sites

  • 2 months later...

Du kannst es drehen, wie Du magst. Wenn Du die Menge änderst, muss in jedem Fall manuell aktualisiert werden. Da das viele Kunden nicht wissen, wundern sich auch viele, warum trotz der Änderung nichts passiert. Für den DAU bräuchte es also eine automatische Update Cart Funktion, wenn man entweder zur Kasse geht oder über einen zusätzlichen (zurück) Button dorthin geht, wo man her gekommen ist (Weiter einkaufen).

Natürlich kann man so was machen, aber dazu brauchts z.B. javascript. Wenn dies deaktiviert ist, was bei größeren Formen oftmals keine Seltenheit ist, dann aktualisiert sich auch nichts. Was 100% gibt es diesem Fall nicht.

So, dann hol' ich das mal wieder vor: Da brauchts kein JavaScript für. Ich hab' das grad mal gemacht - bei mir isses 100%ig :D Und das war ganz einfach (der "Klassiker" mit den zwei Submit Buttons)!

Okay, mit einigen Verrenkungen wegen des IE - der sendet bei grafischen Submit-Buttons den Namen/Value nicht mit, sondern nur die Klick-Koordinaten. Ist aber kein Problem, die kann man abfragen ;-)

Änderung getestet mit Shopversion 3.03 - Anwendung auf eigenes Risiko!

In der shopping_cart.php

$smarty->assign('BUTTON_RELOAD',xtc_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART));
$smarty->assign('BUTTON_CHECKOUT','<a href="'.xtc_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL').'">'.xtc_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT).'</a>');[/PHP]

ersetzen durch

[PHP]// change by IaN 19/Apr/2007 - always send form with an additional var that redirects to checkout
$smarty->assign('BUTTON_RELOAD',xtc_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART, ' name="to_reload" value="true"'));
$smarty->assign('BUTTON_CHECKOUT',xtc_image_submit('button_checkout.gif', IMAGE_BUTTON_CHECKOUT, ' name="to_checkout" value="true"'));[/PHP]

und in der includes/cart_actions.php im Block

[PHP]switch ($_GET['action']) {
// customer wants to update the product quantity in their shopping cart
case 'update_product' :[/PHP]

ungefähr bei Zeile 64

[PHP] xtc_redirect(xtc_href_link($goto, xtc_get_all_get_params($parameters)));
break;[/PHP]

ersetzen durch

[PHP]// add by IaN - auto-update cart - 19/Apr/2007
// we have to check click position, cause IE/PC does not send name/value correctly
if (isset($_POST['to_checkout_x'])){
xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_SHIPPING, xtc_get_all_get_params($parameters), 'SSL'));
}
// end add
xtc_redirect(xtc_href_link($goto, xtc_get_all_get_params($parameters)));
break;[/PHP]

Funktioniert gut - so wird *immer* der Warenkorb aktualisiert, auch wenn man zur Kasse möchte!

Wenn im Quelltext der Aktualisieren-Button vor dem Zur-Kasse-Button steht, wird auch bei Drücken der Return-Taste aktualisiert!

Cheers,

IaN

PS: @mbdesign - was hältst Du davon, für Deine anderen Fragen neue Threads aufzumachen? Deine letzten Fragen hatten ja so gar nichts mehr mit Warenkorb zu tun...

Link to comment
Share on other sites

  • 2 weeks later...

Hallo genau nach dieser Lösung habe ich schon tagelang gesucht und sie eben zufällig gefunden.

An den Admin vom Forum: :(

Bei der Suche nach : "Warenkorb aktualisieren" und ähnlichem wurde dieses Posting leider nicht gefunden, das hätte mir viele Stunden Arbeit gespart, da sollte mal was verbessert werden und diese Codeschnippsel gehören meiner Meinung nach gut sortiert in eine Art Wissensarchiv, wo man etwas leichter fündig würde.

An die Verfasser dieses Postings nochmal ein ganz dickes Dankeschön.:D

Morgen werde ich alles ausprobieren

Danke an alle User die ihr Wissen mit den anderen teilen

Schönes Wochenende noch

Micha

Link to comment
Share on other sites

So, dann hol' ich das mal wieder vor: Da brauchts kein JavaScript für. Ich hab' das grad mal gemacht - bei mir isses 100%ig :D Und das war ganz einfach (der "Klassiker" mit den zwei Submit Buttons)!

Okay, mit einigen Verrenkungen wegen des IE - der sendet bei grafischen Submit-Buttons den Namen/Value nicht mit, sondern nur die Klick-Koordinaten. Ist aber kein Problem, die kann man abfragen ;-)

Änderung getestet mit Shopversion 3.03 - Anwendung auf eigenes Risiko!

In der shopping_cart.php

$smarty->assign('BUTTON_RELOAD',xtc_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART));
$smarty->assign('BUTTON_CHECKOUT','<a href="'.xtc_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL').'">'.xtc_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT).'</a>');[/PHP]

ersetzen durch

[PHP]// change by IaN 19/Apr/2007 - always send form with an additional var that redirects to checkout
$smarty->assign('BUTTON_RELOAD',xtc_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART, ' name="to_reload" value="true"'));
$smarty->assign('BUTTON_CHECKOUT',xtc_image_submit('button_checkout.gif', IMAGE_BUTTON_CHECKOUT, ' name="to_checkout" value="true"'));[/PHP]

und in der includes/cart_actions.php im Block

[PHP]switch ($_GET['action']) {
// customer wants to update the product quantity in their shopping cart
case 'update_product' :[/PHP]

ungefähr bei Zeile 64

[PHP] xtc_redirect(xtc_href_link($goto, xtc_get_all_get_params($parameters)));
break;[/PHP]

ersetzen durch

[PHP]// add by IaN - auto-update cart - 19/Apr/2007
// we have to check click position, cause IE/PC does not send name/value correctly
if (isset($_POST['to_checkout_x'])){
xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_SHIPPING, xtc_get_all_get_params($parameters), 'SSL'));
}
// end add
xtc_redirect(xtc_href_link($goto, xtc_get_all_get_params($parameters)));
break;[/PHP]

Funktioniert gut - so wird *immer* der Warenkorb aktualisiert, auch wenn man zur Kasse möchte!

Wenn im Quelltext der Aktualisieren-Button vor dem Zur-Kasse-Button steht, wird auch bei Drücken der Return-Taste aktualisiert!

Cheers,

IaN

PS: @mbdesign - was hältst Du davon, für Deine anderen Fragen neue Threads aufzumachen? Deine letzten Fragen hatten ja so gar nichts mehr mit Warenkorb zu tun...

Hi, also das wäre schön, wenn dieses Tool auch für 3,04SP1 funktionieren würde. Tut es leider nicht. Es geht dann nicht mehr weiter zur Kasse...:(

Link to comment
Share on other sites

ja, das dachte ich auch, aber

wenn ich der Anleitung folge, dann klappt der Schritt zur Kasse einfach nicht mehr, er geht immer wieder in den Warenkorb (bzw. aktualisiert sich bei jedem Klick auf Kasse)...

Geht bei mir leider auch nicht!!!

Das gleiche Problem!?

Hat jemand einen Änderungsvorschlag?

Link to comment
Share on other sites

Archived

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


×
  • Create New...